我正在使用JASYPT在我们基于Java的软件中对密码进行加密解密。这就是我们加密密码的方式:
StrongTextEncryptor textEncryptor = new StrongTextEncryptor();
textEncryptor.setPassword(PASSWORD_ENCRYPTION_KEY);
String ePasswd = textEncryptor.encrypt(txtPasswd);
现在,我应该在何处以及如何存储上述代码中使用的PASSWORD_ENCRYPTION_KEY?在Java程序中存储和访问这些密钥的最安全或最常用的方法是什么?
谢谢, 深
答案 0 :(得分:2)
...无处
你不应该将PASSWORD_ENCRYPTION_KEY
存储在你的程序中,因为这是错误的方法。就像owlstead已经指出的那样:你需要一个Public key infrastructure
基本上,您可以为需要访问它的每个用户加密PDF,这样他们就可以使用个人私钥对其进行解密。这是通过使用AES-256加密PDF来完成的,然后使用来自每个用户的公钥加密使用的密钥。这些个人加密密钥可以安全存储。