没有通过密钥库获取相同的键值

时间:2012-02-08 06:55:50

标签: java security cryptography password-protection

我使用密钥库

将私钥存储在一个文件中
 ks.setKeyEntry("kk1", pr, pass, cert1);
 //ks is obj of keystore,
 //kk1 is alias,
 //pr-->is private key,
 //pass->is the password to protect that key,
 //cert1-->is the certificate chain..

我在存储到文件时打印了" pr"(私钥)。 我打开文件的另一个程序,使用方法isKeyentry读取内容,并使用getkey打印私钥....

我没有得到两个(私钥)值相同...(密码很好,因为如果错误,文件将无法打开)..出了什么问题???? 是否需要相同???

2 个答案:

答案 0 :(得分:0)

无法使用hashcode,toStirng等任何参数验证2个键值。 这是我遵循的方法: 我尝试使用两个密钥加密一些数据,并验证我是否获得相同的数据。比较使用Array.equals(),因为我们在加密后得到字节数组。

我这样做只是为了知道我是否正在使用密钥库检索我保存在文件中的密钥。

谢谢....

答案 1 :(得分:0)

你如何衡量等价?我能想到的最简单,最安全的方法是执行以下操作:

MessageDigest md = MessageDigest.getInstance("MD5");
byte[] digest = md.digest(pr.getEncoded());
System.out.println(Arrays.toString(digest));