python-模块-hashlib模块-md5-sha256等

本文介绍了Python中的hashlib模块,用于哈希操作,包括MD5、SHA-1和SHA-256等算法。通过实例演示了如何使用这些算法对字符串进行加密。重点强调了这些算法的摘要性质和不可逆性。
摘要由CSDN通过智能技术生成

1、hashlib模块介绍

  • Python hashlib 模块主要用于进行哈希(hash)操作。
  • 哈希(Hash)是一种将任意长度的输入数据映射为固定长度输出数据的算法。
  • hashlib 模块提供了常见的哈希算法的实现,如 MD5、SHA-1、SHA-256 等。

2、hashlib模块的使用

2.1 hashlib是内置模块,直接导入
from hashlib import md5 , sha256 , sha512
2.2 hashlib的方法和作用

        一个哈希对象只能操作update一个字节串,获取hexdigest一个加密后的字符串!

hashlib的方法作用
对象创建hashlib.hash算法名('字节串')创建hash对象
hash对象的方法hash对象.update('字节串')生成hash值
hash对象.digest()获取hash后的字节串
hash对象.hexdigest()获取hash后的字符串

示例:把字符串‘abc’进行md5摘要加密

from hashlib import md5, sha1, sha256

data = "abc"
mdbObj = md5()
mdbObj.update(data.encode('utf-8'))
print(mdbObj.hexdigest()) # 900150983cd24fb0d6963f7d28e17f72

3、理解MD5,sha256...

  • 不论是md5,sha1,sha256...都是摘要算法,都是计算hash值,只是散列程度不同;
  • hash散列算法是不可逆的,所以不存在解密的逻辑;
  • 这些算法操作都一致,用法统一;

例: 把字符串 ‘123456’进行sha256摘要加密

from hashlib import md5, sha1, sha256

data = "123456"
#获取sha256对象
mdbObj = sha256()
#对数据data进行散列操作
mdbObj.update(data.encode('utf-8'))
#获取散列后数据
print(mdbObj.hexdigest())
# 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值