Sha256Hash+salt 加密

版权声明:已开启版权声明 https://blog.csdn.net/M_Kerry/article/details/82725622

1.对比

  1. 无加密数据库

这里写图片描述

2.加密之后的
这里写图片描述

2.加密种类的简单了解

常见加密算法分类

对称加密算法:DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES

非对称加密算法:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1

简言之,非对称性加密就是不可逆

无法通过算法 根据加密密码反推出原密码

但是……我可以不计算 emm。

SHA256 加密
安全散列算法(Secure Hash Algorithm,缩写为SHA)

3.为什么要加盐salt?

salt:就是一串随机字符串,用于和用户密码拼接,再运行加密算法,得到不可重复的加密密码。

举个可能重复的例子。
虽然 非对称性算法是不可逆的,
但是
茫茫人海

这里写图片描述

碰巧张三和李四的 密码都是 123456

经过相同的SHA256加密算法,他们加密之后的密码也是相同的

细思极恐

那我就能制作一张表

原密码 经过Sha256加密之后的密码
123456 502ea227f3c100a04edc2bddcea2e540da5d9c9ee4e38b2e50e3da76cc3d72f4
abcd a9d497a3e2ec3967272940724bc9d3165f8a0adac42efcb94234e04bd23b35bd
…… ……

这样会导致彩虹表的诞生

彩虹表是一个用于加密散列函数逆运算的预先计算好的表, 为破解密码的散列值(或称哈希值、微缩图、摘要、指纹、哈希密文)而准备。一般主流的彩虹表都在100G以上。 这样的表常常用于恢复由有限集字符组成的固定长度的纯文本密码。这是空间/时间替换的典型实践, 比每一次尝试都计算哈希的暴力破解处理时间少而储存空间多,但却比简单的对每条输入散列翻查表的破解方式储存空间少而处理时间多。使用加salt的KDF函数可以使这种攻击难以实现。彩虹表是马丁·赫尔曼早期提出的简单算法的应用。 [1]

如何防止彩虹表破解密码
答案:加盐

这里写图片描述

###4.如何验证登录

这里写图片描述

登录失败不建议写明确的报错信息
以防给黑客提供线索

demo源码下载
链接:https://pan.baidu.com/s/1WJT-NLjpO2lamjaGA3S3-g

猜你喜欢

转载自blog.csdn.net/M_Kerry/article/details/82725622
今日推荐