我有一个使用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. 登录加密密码进行比较
- 3. PHP:使用bcrypt进行密码加密
- 4. 转换明文密码bcrypt加密的密码
- 5. 如何使用bcrypt将纯文本密码与哈希密码进行比较?
- 6. Phpunit密码比较
- 7. 比较移动应用程序的BCrypt-ed密码
- 8. 红宝石BCrypt密码比较返回不正确的评估
- 9. 如何比较Symfony 3中的密码(Bcrypt哈希)?
- 10. Bcrypt密码验证
- 11. Bcrypt验证密码
- 12. 使用salt(bcrypt)比较哈希密码总是返回false
- 13. CakePHP的3 - 比较密码
- 14. 无法比较/解密密码(PHP/Android)
- 15. 角比较密码指令
- 16. 比较(密码)属性
- 17. 比较散列密码
- 18. 比较两个密码PHP
- 19. PHP和MySQL比较密码
- 20. Javascript密码字段比较
- 21. 比较散列密码
- 22. openldap auththentication php5 - 比较密码
- 23. 比较Liferay的加密密码和用户输入
- 24. 如何正确比较加密的密码字符串?
- 25. 如何比较DotNetNuke加密的外部密码?
- 26. 解密的bcrypt
- 27. 如何将字符串密码与laravel进行比较加密密码
- 28. PHP Bcrypt找回密码
- 29. 用BCrypt更新密码
- 30. 密码salting /散列与bcrypt
可能是https://stackoverflow.com/questions/35590105/authentication-with-bcrypt-hashed-password的副本 – volatilevar
[使用bcrypt验证散列密码]的可能重复(https://stackoverflow.com/questions/) 35590105/authentication-with-bcrypt-hashed-password) – 1615903