在 Java 代码中存储加密密钥?

DG.*_*DG. 5 java encryption jasypt

我在我们基于 Java 的软件中使用 JASYPT 对密码进行加密解密。这是我们加密密码的方式:

        StrongTextEncryptor textEncryptor = new StrongTextEncryptor();
        textEncryptor.setPassword(PASSWORD_ENCRYPTION_KEY);
        String ePasswd = textEncryptor.encrypt(txtPasswd);
Run Code Online (Sandbox Code Playgroud)

现在,我应该在哪里以及如何存储上面代码中使用的 PASSWORD_ENCRYPTION_KEY ?在 Java 程序中存储和访问这些密钥的最安全或最常用的方法是什么?

谢谢,深

xmo*_*oex 2

无处...

您不应该将 存储PASSWORD_ENCRYPTION_KEY在您的程序中,因为这是错误的方法。就像owlstead已经指出的那样:你需要一个公钥基础设施

基本上,您可以为每个需要访问 PDF 的用户加密 PDF,这样他们就可以使用自己的个人私钥对其进行解密。这是通过使用 AES-256 加密 PDF,然后使用每个用户的公钥加密所使用的密钥来完成的。这些个人加密的密钥可以安全存储。