本文主要是介绍谈撒盐(salt)加密,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在家做饭有佐料,在加密领域也有所谓的佐料,只是这是这里的佐料可不是为了味道好,而是为了保护对象的机密性。
往上面撒一些盐,可以有效的解决这个问题,即使用salt加密,它的基本想法是这样的:
1.用户注册时,在密码上撒一些盐。生成一种味道,记住味道。
2.用户再次登陆时,在输入的密码上撒盐,闻一闻,判断是否和原来的味道相同,相同就让你吃饭。
由于验证密码时和最初散列密码时使用相同的盐值,所以salt的存储在数据库。并且这个值是由系统随机产生的,而非硬编码。这就保证了所要保护对象的机密性。
下面图解一下加密过程:
注册时
1.用户注册,系统随机产生salt值。
2.将salt值和密码连接起来,生产Hash值。
3.将Hash值和salt值分别存储在数据库中。
登陆时
1.系统根据用户名找到与之对应的密码Hash。
2.将用户输入密码和salt值进行散列。
3.判断生成的Hash值是否和数据库中Hash相同。
分析到这里,就基本结束了,祝你撒盐愉快!
这篇关于谈撒盐(salt)加密的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!