Python hashlib精讲

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()

这中写法也可以.简单方便

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值