md5 为什么 加盐

md5 为什么 加盐,第1张

原因:盐被称作“Salt值”,这个值是由系统随机生成的,并且只有系统知道。即便两个用户使用了同一个密码,由于系统为它们生成的salt值不同,散列值也是不同的。

MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

扩展资料:

MD5相对MD4所作的改进:

1、增加了第四轮。

2、每一步均有唯一的加法常数。

3、减弱第二轮中函数的对称性。

4、第一步加上了上一步的结果,这将引起更快的雪崩效应(就是对明文或者密钥改变 1bit 都会引起密文的巨大不同)。

5、改变了第二轮和第三轮中访问消息子分组的次序,使其更不相似。

6、近似优化了每一轮中的循环左移位移量以实现更快的雪崩效应,各轮的位移量互不相同。

参考资料来源:百度百科-MD5

一般是先加盐再用不可逆加密算法加密密码的,常见的有:sha1 sha256 md5等。

作用:这些加密算法,只能加密,不能逆向解密,所以使用这些算法。即时你的数据库被拖库,得到的人,也无法知道用户密码。

为什么加盐

举例

在注册时,

假设你的密码是1234,一般服务器会加一个盐(随便一个乱打的字符串),和你的密码加在一起,1234和efnU*(@#H!JKNF得到1234efnU*(@#H!JKNF这个值,然后再进行加密(这里我用md5)得到 91dc02c1fc2ce2252969e6b86173aa78,于是数据库里你的密码就变为了91dc02c1fc2ce2252969e6b86173aa78

登入时,

你输入1234, 然后服务器用和注册相同的步骤进行加密,得到加密后的值,91dc02c1fc2ce2252969e6b86173aa78,将这个值与数据库的加密值比对,如果正确则登入。

混淆用的,比如你写到数据库里面是MD5加密的,但是你用网上的解密工具一查就知道他的明文是什么。而如果你加了盐,也就是你的密码+盐,然后加密,那么加密出来的那串,别人就不知道他明文是什么了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10829698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存