2012-02-08 138 views
0

我使用的密鑰庫通過密鑰庫

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.. 

,同時存儲到該文件I印刷「PR」(私用密鑰)存儲在文件中的私有密鑰沒得到相同的密鑰值。 我另一個程序,我打開文件,並閱讀內容使用方法isKeyentry和打印私鑰使用getkey ....

我沒有得到兩個(私鑰)值相同...(密碼很好,因爲如果這是錯誤的文件將無法打開)..什麼是錯誤的? 它需要相同嗎?

+0

您將不得不顯示兩個不同的輸出。 – 2012-02-08 07:01:22

回答

0

這是不可能的驗證2哈希碼,toStirng等參數的關鍵值 這是我遵循的方法: 我試圖加密一些數據使用兩個密鑰和驗證,如果我得到相同的數據或not.Whle比較使用Array.equals(),因爲我們得到加密後的字節數組。

我這樣做只是爲了知道我是否使用keystore檢索了保存在文件中的相同密鑰。

謝謝....

0

你如何衡量等價性?我能想到的最簡單,最安全的方法是執行以下操作:

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