我被建议在这里查看:http://exampledepot.com/egs/javax.crypto/DesFile.html,了解使用import javax.crypto进行加密/解密的源代码。我通过keytool生成了我的密钥,现在我不知道如何将生成的密钥传递给该应用程序进行加密和解密。
我的情况是,我有一个在线存储的XML文件(它存储配置详细信息),在我用XML解析器解析它之前,我必须解密它。首先,我当然应该在它上线之前加密它。
问题是:如何将生成的密钥传递到第一行链接中可见的代码中?
由于
答案 0 :(得分:5)
JavaDoc of the KeyStore class:
中记录了如何加载KeyStoreKeyStore 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