我在我们基于Java的软件中使用JASYPT加密解密密码。我们就是这样,加密密码:将加密密钥存储在Java代码中?
StrongTextEncryptor textEncryptor = new StrongTextEncryptor();
textEncryptor.setPassword(PASSWORD_ENCRYPTION_KEY);
String ePasswd = textEncryptor.encrypt(txtPasswd);
现在,在这里,我应该如何存储这个PASSWORD_ENCRYPTION_KEY在上面的代码中使用?在Java程序中存储和访问这些密钥的最安全或最常见的方式是什么?
感谢, 深
最安全的地方是“不在用户的计算机上”。 – millimoose
您可能想要阅读http://ronrothman.com/public/leftbraned/password-security-its-not-that-hard-but-you-still-cant-get-it-right/。如果您的软件以可以恢复它们的方式存储密码,那么即使您使用加密对它们进行了模糊处理,特别是在将加密密钥与加密数据一起存储的情况下,也会出错。 –
你在那里存储什么类型的密码?如果是用户密码,请按照詹姆斯克拉克的建议,使用咸味散列......如果不是,则取决于该密码的背景 – DarkSquirrel42