用户密码存储的问题?hash?
做个小系统,需要用户登录,密码怎么存储呢?明文存储是不好的,但好像 hash 加密也不行,MD5 不是被爆破了吗?
MD5 有冲撞问题,而且有彩虹表了,很容易逆向解析出来,SHA1 类似的也会有问题,用户登录的时候等待1秒没什么关系,此类加密算法都是通过增加计算复杂度,比如内存占用或者 CPU 时钟周期,增大攻击成本,bcrypt 被广泛使用,可以用这个加密算法。
下图是加密后的字符串,带有版本号和迭代次数 (次数越高执行时间越长),可以根据计算机硬件升级提升迭代次数,保持较高的攻击成本