2011-04-24 258 views
1

我建議在這裏查看:http://exampledepot.com/egs/javax.crypto/DesFile.html,其中介紹了使用import javax.crypto進行加密/解密的源代碼。我通過keytool生成了我的密鑰,現在我不知道如何將生成的密鑰傳遞到該應用程序進行加密和解密。將javax.crypto用於文件加密/解密的密鑰存儲區

我的情況是,我有一個XML文件在線存儲(它存儲配置詳細信息),並且在我用XML解析器解析它之前,我必須解密它。首先我當然應該在它上線之前對它進行加密。

問題是:如何將我生成的密鑰傳遞到第一行鏈接中可見的代碼?

感謝

回答

5

如何加載密鑰庫是記錄在JavaDoc of the KeyStore class

KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); 
// get user password and file input stream 
char[] password = getPassword(); 
java.io.FileInputStream fis = new java.io.FileInputStream("C:/mykeystore.jks"); 
ks.load(fis, password); 
fis.close(); 

一旦加載密鑰存儲區您可以加載項:

Key myKey = ks.getKey("mykeyalias", password); 

的關鍵別名是您使用keytool指定的別名。 使用myKey可以初始化Cipher實例或使用例如CipherOutputStream/CipherInputStream