我有一個使用bcrypt加密用戶名密碼的網頁,這些密碼然後存儲在數據庫中。我有一個在QT上運行的C++程序,需要對用戶進行身份驗證,爲此,我必須加密用戶輸入的密碼並將其與數據庫中的密碼進行比較。這是做到這一點的正確方法嗎?如果是的話,我如何實現這一目標?用戶輸入密碼的加密必須與bcrypt中的一樣,我該怎麼做?提前致謝。比較由bcrypt加密的密碼
0
A
回答
2
其實你不會加密密碼,因爲他們可能會被解密。正確的做法是,散列一個密碼並存儲散列值。如果用戶輸入密碼,您還可以散列該值並將其與已保存的散列值進行比較。這是正確的方法,因爲散列函數是單向函數(不可逆),請參閱here。
散列方法可以防止有人可以解密密碼。您應該注意像SHA-2或SHA-3這樣的安全散列函數,因爲一些散列函數不再安全,請參閱list of broken hash functions。
+1
儘管OP會混淆術語,但bcrypt實際上是一種哈希函數。 – 1615903
相關問題
- 1. 轉換明文密碼bcrypt加密的密碼
- 2. 如何使用bcrypt將純文本密碼與哈希密碼進行比較?
- 3. 紅寶石BCrypt密碼比較返回不正確的評估
- 4. 如何比較Symfony 3中的密碼(Bcrypt哈希)?
- 5. Bcrypt密碼驗證
- 6. 使用salt(bcrypt)比較哈希密碼總是返回false
- 7. CakePHP的3 - 比較密碼
- 8. 無法比較/解密密碼(PHP/Android)
- 9. 比較散列密碼
- 10. Javascript密碼字段比較
- 11. PHP和MySQL比較密碼
- 12. 比較散列密碼
- 13. 如何比較DotNetNuke加密的外部密碼?
- 14. 如何正確比較加密的密碼字符串?
- 15. 比較Liferay的加密密碼和用戶輸入
- 16. 解密的bcrypt
- 17. Bcrypt不保存密碼?
- 18. 密碼salting /散列與bcrypt
- 19. 春季開機密碼Bcrypt
- 20. janusgraph - 存儲使用bcrypt加密的密碼
- 21. 如何將字符串密碼與laravel進行比較加密密碼
- 22. 加密在登錄時比較哈希和鹽漬密碼
- 23. 密碼加密:PBKDF2(使用sha512 x 1000)vs Bcrypt
- 24. 比較密碼與最近三個月的密碼
- 25. 如何比較Microsoft Access密碼與用戶提供的密碼?
- 26. 代碼比較登錄名和密碼
- 27. 護照bcrypt密碼與db的密碼不同
- 28. BCrypt驗證數據庫中密碼的密碼
- 29. 爲什麼不用鹽來比較密碼在bcrypt中是否正確?
- 30. 比較不工作的密碼Java
可能是https://stackoverflow.com/questions/35590105/authentication-with-bcrypt-hashed-password的副本 – volatilevar
[使用bcrypt驗證散列密碼]的可能重複(https://stackoverflow.com/questions/) 35590105/authentication-with-bcrypt-hashed-password) – 1615903