Hash passward with salted value

1 盐值哈希的基本概念:html

哈希密码利用特定的哈希函数将明文密码转换为密文。然而,这样的密码也不是很是安全的,黑客能够经过字典、彩虹表(网上就能够免费下载)对这种密码进行暴力破解,因此单纯的哈希密码还不足以应付安全问题。因此须要加入盐值(salt value)。算法

   带盐值的哈希密码,就是在原始密码的基础上添加一个“盐值”,而后对新生成的明文进行哈希,获得的密码密文,就是带盐值的哈希密码。 数据库

2 工做原理:安全

带盐值的哈希密码算法设计思想:函数

在首次建立密码和修改密码时:spa

1)将用户提供的密码和系统生成的一个比较复杂的附加码(即盐值)进行结合,对结合的结果进行哈希运算;.net

2)而后系统为该用户随机生成一个指定长度的字节序列,把这个序列和刚刚哈希运算的结果进行结合,再进行哈希运算;设计

3)哈希结果与第二个盐值结合,获得最终的密文。存入数据库。htm


当用户登陆时,相应的验证过程是:blog

1)用户提供用户名和密码;

2)系统经过用户名找到与之对应的Hash值和Salt值;

3)系统将Salt值和用户提供的密码链接到一块儿;

4)对链接后的值进行散列,获得Hash'

5)比较HashHash'是否相等,相等则表示密码正确,不然表示密码错误。


参考资料:

http://blog.sina.com.cn/s/blog_64ffd1280101ehro.html

http://blog.csdn.net/dingzhun/article/details/7044221

相关文章
相关标签/搜索