python_hashlib你了解多少?

hashlib

可以将一个字符串数据类型的变量转化成一个定长的密文的字符串,字符串里的每一个字符都是16进制数字。
算法:对同一个字符串,用相同的算法,相同的手段去进行摘要,获取的值总是相同的。对于同一个字符串,不管什么环境、什么语言、多少次执行,使用相同的算法得到的结果永远是相同的。只要不是相同的字符串,得到的结果一定不同。
md5算法比sha算法要快,跟普及一些。
sha算法比md5复杂一些,因为用的人少一些,所以相对更安全。

import hashlib # 摘要算法模块
pwd = 'huashandadizi123'
# md5算法
# 她的结果是一个32位的字符串,她的每一位都是16进制。
md5_obj = hashlib.md5()
md5_obj.update(pwd.encode('utf-8'))
ret = md5_obj.hexdigest()
print(ret,len(ret),type(ret))
e0b4119aa443a3ac7782bf6a5a58473a 32 <class 'str'>
# sha1算法
# 她的结果是一个40位的字符串,她的每一位也是十六进制。
sha_obj = hashlib.sha1()
sha_obj.update(pwd.encode('utf-8'))
ret1 = sha_obj.hexdigest()
print(ret1,len(ret1),type(ret1))
299c74d24d518fcb347c3e206b0c47835479b372 40 <class 'str'>
# 为了防止撞库,可以加盐
md5_obj = hashlib.md5("任意字符作为盐".encode())
md5_obj.update(pwd.encode('utf-8'))
ret = md5_obj.hexdigest()
print(ret,len(ret),type(ret))
137d76f568c5f22f518aa0f42bc2004d 32 <class 'str'>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值