我在我們基於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