kgen.init(128, secureRandom);这句改了么
解决方案 »
- struts 下拉列表 传值
- 对Web项目中的乱码问题的些许揣测(望纠正)
- spring企业开发大调查
- 将数据库中的数据导出成excel表格形式
- 怎样进行spring发邮件时的服务器认证?
- 急 !!!!!!!! JAVA 读、写 .csv 文件
- 初学struts,在eclipse导入同学一个STRUS的项目,但提示好像找不到STRUTS框架的支持文件?怎么办?
- axiom传递普通数组等问题
- JAVA POI 设置EXCEL分页的问题
- 注解多对多映射,生成中间表没有数据
- sprintmvc+ibatis+oracle无法插入clob字段的问题
- 面试官问我JAVA基础(我搞java web开发的)
这句也加上了的, 我用的是Centos 64位的系统
http://blog.csdn.net/ustcxjt/article/details/7442830
我的加解密的密钥都是一样的:12345678加密方法:
String type = "AES";
KeyGenerator kgen = KeyGenerator.getInstance(type);
// 防止linux下 随机生成key
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(password.getBytes());
kgen.init(128, secureRandom);
SecretKey secretKey = kgen.generateKey();
byte[] enCodeFormat = secretKey.getEncoded();
SecretKeySpec key = new SecretKeySpec(enCodeFormat, type);
Cipher cipher = Cipher.getInstance(type);// 创建密码器
byte[] byteContent = content.getBytes("utf-8");
cipher.init(Cipher.ENCRYPT_MODE, key);// 初始化
byte[] result = cipher.doFinal(byteContent);
return result; // 加密解密方法:
KeyGenerator kgen = KeyGenerator.getInstance(type);
// 防止linux下 随机生成key
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(password.getBytes());
kgen.init(128, secureRandom);
SecretKey secretKey = kgen.generateKey();
byte[] enCodeFormat = secretKey.getEncoded();
SecretKeySpec key = new SecretKeySpec(enCodeFormat, type);
Cipher cipher = Cipher.getInstance(type);// 创建密码器
cipher.init(Cipher.DECRYPT_MODE, key);// 初始化
byte[] result = cipher.doFinal(content);
return result; // 解密
jdk1.7.0_60运行代码结果正确
jdk1.7.0_45运行代码结果错误运行错误的机器:(不知道是不是每次生成的强随机数种子不一样还是怎么回事) 结果是每运行一次加密后,每次结果都不一样运行正确的机器:没有上述情况问题