![](/img/trans.png)
[英]SHA1 with BASE64 in java util class does not generate correct password
[英]How do i encrypt password in three layers , SHA1, base64 encode and salt
我想以高安全性加密和解密密碼。 首先,將字符串密碼轉換為SHA1,然后我還想添加base64編碼,最后向其添加SALT。
這在Java中可行嗎?
我有在base64和sha1中編碼的示例代碼,但是我不確定如何將它們全部組合在一起。
這是代碼段:
String password = "password";
BASE64Encoder encoder = new BASE64Encoder();
encryptedPassword = encoder.encode(password.getBytes());
使用SHA1:
MessageDigest md = MessageDigest.getInstance("SHA-1");
md.reset();
md.update(password.getBytes());
System.out.println(new String(md.digest()));
請提出建議。
這些是您在玩鹽時必須考慮的事情:
- 使用CSPRNG生成長隨機鹽。
- 將鹽添加到密碼中,並使用標准的加密哈希函數(例如SHA256)對其進行哈希處理。
您需要將生成的Salt(使用加密安全的偽隨機數生成器生成 )附加到密碼,然后使用SHA-1對其進行哈希處理。
由於SHA-1是哈希算法,因此您無法對其進行解碼。 如果您需要加密密碼,則可以閱讀有關AES或RSA的內容
如果您仍然想正確地對密碼進行哈希處理,建議您閱讀這篇文章, 鹽腌密碼哈希-做正確 ,特別是“正確的方法:如何正確哈希”這一部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.