day6_hashlib模块

import hashlib
md = hashlib.md5()  # 构造一个md5对象
s = 'ssj123'
md.update(s.encode())  # 把字符串变成bytes类型,如果不加encode()就会报错

print(md.digest())  # 打印生成b'\xa4:\x03f\x0c\xbc\x94\x08\xbc\xea\xdf4C\xd3\xee\x9e',这个看不懂,digest()方法尽量不用,用下面的hexdigest()

import hashlib
md = hashlib.md5()  # 构造一个md5
md.update('test12'.encode())  # 字符串编程bytes类型
print(md.hexdigest())  # 加密后的字符串,md5加密后的密码长度32位

md5不能解密,解密是利用撞库的原理,撞库就是把常用的密码明文和密码都放在数据库里

def md5_passwd(s, salt='123456'):  # salt是盐值,默认是123456
s = str(s) + salt
import hashlib
md = hashlib.md5() # 构造一个md5对象
md.update(s.encode())
res = md.hexdigest()
return res
print(md5_passwd('wyier324'))
posted @ 2018-03-08 18:02  laosun0204  阅读(110)  评论(0编辑  收藏  举报