在Javax.crypto中使用密钥库进行文件加密/解密

问题描述 投票:1回答:1

建议我在这里查看:http://exampledepot.com/egs/javax.crypto/DesFile.html,了解使用导入javax.crypto进行加密/解密的源代码。我已经通过keytool生成了密钥,但现在我不知道如何将生成的密钥传递到该应用程序中进行加密和解密。

我的情况是,我有一个在线存储的XML文件(它存储配置详细信息),在使用XML解析器解析之前,我必须对其解密。首先,我当然应该对其进行加密,然后再使其联机。

问题是:如何将生成的密钥传递到第一行的链接中可见的代码中?

谢谢

java cryptography keystore
1个回答
6
投票

[如何加载密钥库在JavaDoc of the KeyStore class中有说明:

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

一旦加载密钥库,就可以加载密钥:

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

密钥别名是您使用keytool指定的别名。使用myKey可以初始化Cipher实例,或使用例如CipherOutputStream / CipherInputStream

© www.soinside.com 2019 - 2024. All rights reserved.