【Python | hashlib】使用hashlib计算安全哈希SHA1, SHA224, SHA256, SHA384 和 SHA512 以及 RSA 的 MD5

>>> import hashlib
>>> m = hashlib.sha256()
>>> m.update(b"Nobody inspects")
>>> m.update(b" the spammish repetition")
>>> m.digest()
b'\x03\x1e\xdd}Ae\x15\x93\xc5\xfe\\\x00o\xa5u+7\xfd\xdf\xf7\xbcN\x84:\xa6\xaf\x0c\x95\x0fK\x94\x06'
>>> m.hexdigest()
'031edd7d41651593c5fe5c006fa5752b37fddff7bc4e843aa6af0c950f4b9406'
>>> hashlib.sha256(b"Nobody inspects the spammish repetition").hexdigest()
'031edd7d41651593c5fe5c006fa5752b37fddff7bc4e843aa6af0c950f4b9406'

大概用法

import hashlib

# hashlib提供SHA1, SHA224, SHA256, SHA384 和 SHA512 (定义于 FIPS 180-2) 以及 RSA 的 MD5 算法
def encrypt(message, algorithm):
    m = hashlib.new(algorithm, message.encode(encoding='utf-8'))
    return m.hexdigest()

if __name__ == "__main__":
    print(encrypt("Hello World", "sha1"))
    print(encrypt("Hello World", "sha224"))
    print(encrypt("Hello World", "sha256"))
    print(encrypt("Hello World", "sha384"))
    print(encrypt("Hello World", "sha512"))
    print(encrypt("Hello World", "md5"))
    
# 0a4d55a8d778e5022fab701977c5d840bbc486d0
# c4890faffdb0105d991a461e668e276685401b02eab1ef4372795047
# a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
# 99514329186b2f6ae4a1329e7ee6c610a729636335174ac6b740f9028396fcc803d0e93863a7c3d90f86beee782f4f3f
# 2c74fd17edafd80e8447b0d46741ee243b7eb74dd2149a0ab1b9246fb30382f27e853d8585719e0e67cbda0daa8f51671064615d645ae27acb15bfb1447f459b
# b10a8db164e0754105b7a99be72e3fe5

详情参考Python文档

参考

hashlib --- 安全哈希与消息摘要 — Python 3.11.2 文档

【Python】计算文件的MD5、SHA1、SHA256值(校验文件完整性)_python计算文件md5_Xavier Jiezou的博客-CSDN博客

python中的md5加密 - lanston - 博客园

【Python应用】SHA256_jiangwei0512的博客-CSDN博客_python sha-256

Python 技术篇-sha256()加密的使用方法,sha1、md5加密方法 - 腾讯云开发者社区-腾讯云

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值