盐不是秘密,它可以与散列一起存储明文.甚至不需要在数据库中具有第二个字段.如果你看一下PHP的crypt()函数,你可以看到salt将包含在哈希值本身中.
这是盐的工作,使已经存在的彩虹板无用,因为必须为一种特定的盐建造彩虹.为每个哈希使用不同的salt将阻止rainbowtable攻击,因为您必须为每个哈希创建一个rainbowtable.这就是为什么没有必要保持盐的秘密.
我建议,如果你想改进你的密码哈希系统,你做得对,哈希函数很慢.使用bcrypt的文章密码哈希解释了为密码生成哈希的重要点.
最后但同样重要的是,不要害怕正确地执行它,应用程序的代码可以像使用MD5的当前实现一样简单.
| 归档时间: |
|
| 查看次数: |
417 次 |
| 最近记录: |