在我的應用程序中,只有通過授權用戶輸入密碼才允許執行一些操作。所以我需要在文件中存儲加密密碼,然後在需要時讀取加密密碼並將其與輸入的密碼進行比較。我從來沒有做過類似的事情,我需要最簡單的方法來做到這一點。在這裏我找到了this教程,但後來我發現最好不要使用sun.misc.BASE64Decoder/Encoder。你能幫我嗎?Java:如何在文件中寫入/讀取加密密碼
-1
A
回答
3
不是存儲密碼的,你可以存儲它的哈希值。爲了比較它與另一個密碼,你應該比較哈希,而不是真正的密碼。最簡單的方法,使哈希(鹽)將使用MessageDigest
:
public byte[] makeDigest(String value, byte[] salt) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(salt);
return md.digest(value.getBytes());
}
您可以在文件中的密碼,然後商店生成的字節數組(鹽)的摘要。然後使用此方法(和原始鹽)從第二個密碼中進行摘要。最後只是比較兩個字節數組與Arrays.equals
0
2
我認爲你也可以: 1. salt + hash(例如:sha256)密碼在存儲之前,也保存鹽。隨機生成的鹽更好。 2.使用保存的salt +重新輸入用戶輸入的密碼。 3.簡單地比較它們。如果它們匹配,則可以訪問用戶
相關問題
- 1. 的Java:寫入和讀取密碼加密基於私鑰
- 2. Java:如何從文件讀取密碼?
- 3. Java登錄不讀取加密密碼
- 4. 如何在java中讀取密碼保護的.xls文件?
- 5. 如何在Java中加密RDP密碼
- 6. 讀取和寫入Java密鑰庫
- 7. 如何用java讀密碼加密密鑰?
- 8. 如何將XML寫入加密文件?
- 9. 以讀寫權限存儲加密文件的密碼
- 10. 用ruby讀/寫密碼保護和加密文件
- 11. 如何讀取使用AES算法加密並加密的加密文件?
- 12. Java密碼加密
- 13. Java密碼加密
- 14. 如何在Android中讀取密碼保護/刪除密碼?
- 15. 從密碼文件中讀取tftpconnection
- 16. java讀取加密對象
- 17. 我如何從Java加密文件加密的文件中解密objective-c
- 18. 如何加密JConsole密碼文件的密碼
- 19. 如何寫入TXT文件之前加密密碼,並需要使用它
- 20. 從文件中讀取加密數據
- 21. 在Java文件中使用基於密碼的加密
- 22. 在C/C++程序中讀取加密文件時保留密碼
- 23. 如何使用aes在java中加密/解密文件?
- 24. 如何在Java中加密或解密文件?
- 25. 如何在Java中加密/解密文件?
- 26. 如何在Java中加密和解密聲音文件?
- 27. Java:文件讀取/寫入
- 28. Java - 文件讀取/寫入
- 29. 在java中加密SALTEDHASHED weblogic密碼
- 30. 在Java或MySQL中加密密碼?
您可以將加密的密碼存儲在屬性文件中 –
Base64不會真正加密任何內容。您可能想要使用散列,如SHA1或SHA256。 – fge
@NamanGala什麼是屬性文件?如何使用它? –