relational-database - 对用户名和密码进行散列会产生任何安全优势吗?

标签 relational-database security hash password-encryption

对用户名和密码进行哈希处理是否会产生任何安全优势? 我的意思是这个方案:


1.用户输入电子邮件地址
2.计算Hash(e-mail)地址
3.用户输入密码Calculate Hash(password) 。
4.匹配值以指示登录成功或失败。

这会不会使将破解的哈希值与相应的用户相匹配变得更加困难。

我不知道这是否已被使用,或者这个想法是否由于某种我没有想到的原因而变得不切实际。我在搜索中没有找到任何东西,所以我在这里问了。

最佳答案

这会使登录凭据更难破解,但这也意味着您将无法获得用户名的明文版本,而这正是您可能需要做的事情。

加强登录凭据安全性的最佳方法是对用户密码使用更强(即更慢)的加盐哈希算法,例如 bcrypt 或 PBKDF2。

参见 http://codahale.com/how-to-safely-store-a-password/

关于relational-database - 对用户名和密码进行散列会产生任何安全优势吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12088453/

相关文章:

java - 为了安全起见,在 Java 中散列密码值多少钱?

php - 验证多级关系依赖关系的最佳方法

java - getElementById 为 java 中的 xml 文档返回 null

security - 由 ASP.NET 4 <% : %> or Razor encoding but are caught by AntiXSS 获取的 XSS 漏洞示例

security - 如何计算不合格率和误识别率?

c++ - 改进的 SHA-1 散列的 OpenSSL 实现

mysql - SQL、Laravel : When to create a relationship?

mysql - 具有多对多关系的递归关系MySQL表

sql - 无法更改或关闭 postgres 日志记录

Perl Tie::IxHash - 有 'each' 方法吗?