hashlib模块
hashlib提供了常见的摘要算法,如md5和sha1等等。
那么什么是摘要算法呢?摘要算法又称为哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。
注意:摘要算法不是一个解密算法。(摘要算法,检测一个字符串是否发生了变化)
应涂:1.做文件校验
2.登录密码
密码不能解密,但可以撞库,用‘加盐’的方法就可以解决撞库的问题。所有以后设置密码的时候要设置的复杂一点。
1 import hashlib 2 # md5_obj = hashlib.md5() 未加盐 3 md5_obj = hashlib.md5('nezha'.encode('utf-8')) #加盐后(就让你的密码更牢固了) 4 md5_obj.update('123456'.encode('utf-8')) 5 print(md5_obj.hexdigest()) 6 md5_obj.update('hello'.encode('utf-8')) 7 print(md5_obj.hexdigest()) 8 # ----------- 9 user = 'haiyan' 10 password = '123456' 11 md5_obj= hashlib.md5(user.encode('utf-8')) #加盐(哪怕被人的密码和你的密码一样, 12 # 那你加盐以后就只有你的用户名对应的是你的密码了) 13 md5_obj.update(password.encode('utf-8')) 14 print(md5_obj.hexdigest())