security - 您将如何将盐添加到现有的密码哈希中?

标签 security migration passwords salt

我有一个散列密码数据库,在散列之前没有添加盐。我想在新密码中加盐。显然我不能重新散列现有的。

您将如何迁移到新的哈希系统?

最佳答案

当然可以。只需在现有散列中添加盐并再次散列即可。当然,这将需要任何 future 的登录经历相同的过程,这意味着需要调用两个散列函数,但许多合法模式无论如何都会这样做,因此它不会像您想象的那么糟糕。

对密码加盐是为了抵御彩虹表。在这种情况下,盐不需要是 secret 。

http://en.wikipedia.org/wiki/Rainbow_tables#Defense_against_rainbow_tables

你实际上可以在文章中看到

hash = MD5 (MD5 (password) . salt)

这与您将使用的方法完全相同。 (除了不同的散列函数。)

关于security - 您将如何将盐添加到现有的密码哈希中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1201685/

相关文章:

security - 只是好奇(所以我知道它是如何工作的): how do search engines find web-sites (if no one knows it) and folders in it?

php - 在 Yii 或 Laravel 中从现有数据库生成迁移

security - 如何判断网站是否以纯文本形式存储密码

linux - 使用两个不同的密码以 root 身份登录

Git 要求输入 git@git.repo.local 密码

php - PHP 脚本中的这条 MySQL 语句有多安全?

security - 测试网站上的目录扫描/读取漏洞

security - 检查 SSL 属性 ASIHTTPRequest

mysql - 当我尝试在 Rails 项目中创建唯一索引时出现空迁移

jboss - WebLogic 到 JBoss 的迁移