MD5基本语法
# (一)md5对象
# 1.创建md5对象
hs = hashlib.md5()
# 2.把要加密的数据更新到对象中 [update => 把字节流更新到对象之后,进行加密]
hs.update("111222".encode("utf-8"))
# 3.获取十六进制的字符串
res = hs.hexdigest()
print(res,len(res)) # 00b7691d86d96aebd21dd9e138f90840
加盐 (加key , 加一个关键字)
#加盐的位置两种方法:
#密码前加盐
hs = hashlib.md5(b"Aa112233!")
#密码后加盐:
hs.update(b'"111222"+"Aa112233!"')
hs.update(b"Aa112233!")
动态加盐
import hashlib
import random
def index(n=6, alpha=True):
s = ""
for i in range(n):
num = str(random.randint(0, 9))
if alpha:
alpha_upper = chr(random.randint(65, 90))
alpha_lower = chr(random.randint(97, 122))
num = random.choice([num, alpha_upper, alpha_lower])
s += num
return s
hs = hashlib.md5(index(6).encode())
hs.update("111222".encode())
res = hs.hexdigest()
print(res)
hs = hashlib.md5('"111222"+index(6)'.encode()).hexdigest()
这中写法也可以.简单方便