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

时间:2011-12-04 12:48:45

标签: java encryption jasypt

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

        StrongTextEncryptor textEncryptor = new StrongTextEncryptor();
        textEncryptor.setPassword(PASSWORD_ENCRYPTION_KEY);
        String ePasswd = textEncryptor.encrypt(txtPasswd);

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

谢谢, 深

1 个答案:

答案 0 :(得分:2)

...无处

你不应该将PASSWORD_ENCRYPTION_KEY存储在你的程序中,因为这是错误的方法。就像owlstead已经指出的那样:你需要一个Public key infrastructure

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

相关问题