用户登录密码加密(Hash加密)
2021-04-13 本文已影响0人
十年开发初学者
Hash特点:
1.算法是公开的
2.对相同数据运算,得到的结果是一样的
3.对不同数据运算,如MD5得到的结果默认是128位,32个字符(16进制标识)。
4.这玩意没法逆运算
5.信息摘要,信息“指纹”,是用来做数据识别的。
hash加密:
1.md5. 2.sha1 2.sha256 3.sha516
用户密码加密
1.首先密码加密不能用rsa加密,因为rsa加密虽然在传输过程中是相对安全的,但是一旦开发人员变动带走了私钥与密钥,是很容易的获取用户的登录密码
2.hash加密,hash加密是不可逆的,加密后传输至服务端后,开发人员是获取不出用户的登录密码的,只需要将加密的hash值存入数据库中,但是这个方法现在也是不安全的。https://www.cmd5.com,这个网址可以查出大部分的密码
3.hash加盐:所谓的hash加盐就是在原密码的基础上,添加上一段随机字符串(该字符串是由客户端开发人员写死的),然后进行hash加密,但是这种方法对于开发者的依赖比较大还有就是灵活性不高,当用户量大了后,如果想更换盐成本会很大
4.hamc加密:也可以说是动态加盐(一个用户一个盐),当用户注册的时候,服务端会返回给客户端一个盐,然后进行两次hash加密,传输给服务端。这样不会对开发人员产生依赖,且由于是一个用户一个盐,这样更换起来也会比较方便