2011-04-24 173 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