同样的方法类用main调用加解密都正常,就是当用到业务就是加密后再解密变乱码. 后来发现同样的内容加密后的内容竟不相同. 经调试发现 encryptData.getBytes() 转为字节是的使用 Charset.defaultCharset()  不同. main 函数使用的uft-8  , spring mvc controller入口的业务使用gbk 解决方案: encryptData.getBytes("UTF-8");…
BASE64 编码是一种常用的字符编码,在很多地方都会用到.JDK 中提供了非常方便的 BASE64Encoder 和 BASE64Decoder,用它们可以非常方便的完成基于 BASE64 的编码和解码. 切记:下面两处编码必须一致.     获取字节流时  res = new sun.misc.BASE64Encoder().encode(s.getBytes("GBK")); 字节流转换字符串时:      return new String(b,"GBK")…
链接:http://www.jb51.net/article/86027.htm Java实现MD5加密及解密的代码实例分享 作者:厦门大学陈黎栋 字体:[增加 减小] 类型:转载 时间:2016-06-07我要评论 如果对安全性的需求不是太高,MD5仍是使用非常方便和普及的加密方式,比如Java中自带的MessageDigest类就提供了支持,这里就为大家带来Java实现MD5加密及解密的代码实例分享:   基础:MessageDigest类的使用 其实要在Java中完成MD5加密,Messa…
链接:http://www.cnblogs.com/android-blogs/p/5305598.html Java的MD5加密和解密 简单demo: import  java.security.*; import  java.security.spec.*; class  MD5_test { public   final   static  String MD5(String s) { char  hexDigits[] = {  '0' ,  '1' ,  '2' ,  '3' ,  '…
解决java web中safari浏览器下载后文件中文乱码问题 String fileName = "测试文件.doc"; String userAgent = request.getHeader("User-Agent").toLowerCase(); //Java下载文件时IE浏览器出现文件名乱码 // 针对IE或者以IE为内核的浏览器: if (userAgent.contains("msie") || userAgent.contains…
g++编译后中文显示乱码解决方案   环境:Windows 10 专业版 GCC版本:5.3.0 测试代码: 1 #include <iostream> 2 using namespace std; 3 4 int main(int argc, char const *argv[]) 5 { 6 cout << "你好." << endl; 7 return 0; 8 } 编译执行后发现,中文不能正确显示出来. 用记事本打开文件,然后[另存为] 发现…
package demo.security; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.util.Base64; impor…
第一步: 获得RSA公钥私钥(秘钥格式:PKCS#8 ,测试使用的是无私钥密码的) 公钥: -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDAy8GL3N2/M1IgrG3ixFUJ8crC wuEXZqGUnvjH0wDraN3U4fFixvg0PD+LvXhpBOBhsxC8Txg66HgWUnWwAU/+Fy4g litH3oAoNI9ouM71fFCuO01q/YKEKFOpYvRlrXmc013HU0T…
很多时候要对秘要进行持久化加密,此时的加密采用md5.采用对称加密的时候就采用DES方法了 import java.io.IOException; import java.security.MessageDigest; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import j…
注意 1. PKCS5Padding和PKCS7Padding是一样的 2. 加密时使用的key和iv要转换成base64格式 一.前端 1.函数 function encrypt (msg, key, iv) { return CryptoJS.AES.encrypt(msg, key, { iv: iv, padding: CryptoJS.pad.Pkcs7, mode: CryptoJS.mode.CBC }); } function decrypt (cipherText, key,…