关于加密(为什么同样的明文加密之后密文会不一样)

haorengoodman 2012-10-09 03:36:19
public static void main(String[] args) throws Exception {
String key = "test";
String src = "111";

SecretKey deskey = null;

String Algorithm = "DESede"; // 加密算法
KeyGenerator gen = KeyGenerator.getInstance(Algorithm); //实例化(对称加密)密钥生成器

//或用做"IBMSecureRandom",提供强加密随机数生成器
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");

secureRandom.setSeed(key.getBytes());// 重新设置此随机对象的种子。

deskey = gen.generateKey(); //生成 密钥

gen = null;//将密钥生成器置空,gc回收
System.out.println("密钥:" + deskey.toString());
//============================================= 生成密钥

//实例化(为加密和解密提供密码功能)
Cipher c1 = Cipher.getInstance(Algorithm + "/ECB/PKCS5Padding");

c1.init(Cipher.ENCRYPT_MODE, deskey); //设置加密模式

byte[] encoded = c1.doFinal(src.getBytes("UTF-8")); //执行加密
//import org.bouncycastle.util.encoders.Base64;
String destCode = new String(Base64.encode(encoded)); //Base64编码 密文
//============================================= 生成密文

System.out.println("密文:"+destCode.toString());

}
...全文
927 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
haorengoodman 2012-10-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
每次运行key都不一样,加密结果当然不一样
[/Quote]
再问个问题,org.apache.xml.security.Init.init()是什么作用。
haorengoodman 2012-10-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
deskey = gen.generateKey(); //生成 密钥


你的程序里每次都生成了,可以提前生成,并保存到文件,然后加解密读取文件即可


引用 3 楼 的回复:

引用楼主 的回复:
Java code
public static void main(String[] args) throws Exception {
String key = "te……
[/Quote]谢
龙四 2012-10-09
  • 打赏
  • 举报
回复

deskey = gen.generateKey(); //生成 密钥


你的程序里每次都生成了,可以提前生成,并保存到文件,然后加解密读取文件即可


[Quote=引用 3 楼 的回复:]

引用楼主 的回复:
Java code
public static void main(String[] args) throws Exception {
String key = "test";
String src = "111";

SecretKey deskey = null;

String Algorith……
有什么办法保证密钥不变
[/Quote]
haorengoodman 2012-10-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
Java code
public static void main(String[] args) throws Exception {
String key = "test";
String src = "111";

SecretKey deskey = null;

String Algorith……
[/Quote]有什么办法保证密钥不变
nickycheng 2012-10-09
  • 打赏
  • 举报
回复
唉。。每次的加密key都不一样,结果能一样么。
龙四 2012-10-09
  • 打赏
  • 举报
回复
每次运行key都不一样,加密结果当然不一样

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧