为什么md5是不安全的?
正确的说法为:不正确的使用md5是不安全的。
cmd5这个网站,你可以把这个网站理解为一个超级大的彩虹表,你可以反向查找hash对应的明文,当然只能查找到在表里面的数据了。
生日,手机号,纯数字的,如果有确定位数那就更好了,通过遍历的方式,可以生成包含明文和hash值的一张超级大的表,通过查找hash值,反向查找对应明文。
1.0时期:数据库中明文存储账号和密码
大约2010年左右,大部分网站还是这样的,例如搜索关键字csdn600万
2.0时期:数据库中存放账号和密码的hash值
数据库中存储md5哈希之后的字符
这样即使看到数据库,也无法获取到密码原文,但真的是这样的吗?不要忘记彩虹表的存在。
3.0时期:给你的密码加点盐
md5(md5(password) + salt)
参考 https://www.kancloud.cn/zhangchio/news/642381
4.0时期:多重验证
微信认证,支付宝认证
生物指纹:人脸,指纹
短信验证码等等