欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Python:用于加密字符串的 hashlib 模块

最编程 2024-03-06 13:47:17
...

本人已参与【新人创作礼】活动,一起开启掘金创作之路。本文首发于****

hello,大家好,我是wangzirui32,今天我们来学习如何使用hashlib模块加密字符串。
开始学习吧!\

学习目录

  • 1. hashlib模块介绍
  • 2. 引入hashlib模块
  • 3. md5加密
  • 4. SHA1加密
  • 5. SHA224加密
  • 6. SHA256加密
  • 7. SHA384加密
  • 8. SHA512加密
  • 9. new对象

1. hashlib模块介绍

这里引用了Python官方文档的解释:

这个模块针对不同的安全哈希和消息摘要算法实现了一个通用的接口。包括 FIPS 的 SHA1, SHA224, SHA256, SHA384和SHA512 (定义于 FIPS 180-2) 算法,以及 RSA 的 MD5 算法( 定义于 Internet RFC 1321)。术语“安全哈希”和“消息摘要”是可互换的,较旧的算法被称为消息摘要,现代术语是安全哈希。

2. 引入hashlib模块

hashlib模块是Python内置模块,无需pip安装,引入方式如下:

import hashlib

3. md5加密

import hashlib
md5 = hashlib.md5()
md5.update("md5加密".encode("UTF-8"))
print(md5.hexdigest())

我们来逐行分析代码:

  1. md5 = hashlib.md5()
    创建md5加密对象。
  2. md5.update("md5加密".encode("UTF-8"))
    往md5加密对象加入"md5加密"字符串,再使用UTF-8格式进行编码。
  3. print(md5.hexdigest())
    输出加密对象的16进制摘要。

运行代码,输出:

8a4eb58ce7c4b8dd4f78d507592dbaa2

4. SHA1加密

import hashlib
sha1 = hashlib.sha1()
sha1.update("sha1加密".encode("UTF-8"))
print(sha1.hexdigest())

5. SHA224加密

import hashlib
sha224 = hashlib.sha224()
sha224.update("sha224加密".encode("UTF-8"))
print(sha224.hexdigest())

6. SHA256加密

import hashlib
sha256 = hashlib.sha256()
sha256.update("sha256加密".encode("UTF-8"))
print(sha256.hexdigest())

7. SHA384加密

import hashlib
sha384 = hashlib.sha384()
sha384.update("sha384加密".encode("UTF-8"))
print(sha384.hexdigest())

8. SHA512加密

import hashlib
sha512 = hashlib.sha512()
sha512.update("sha512加密".encode("UTF-8"))
print(sha512.hexdigest())

9. new对象

new对象支持以上各种加密方式,代码:

import hashlib
md5 = hashlib.new("md5")
md5.update("new对象".encode("UTF-8"))
print(md5.hexdigest())

hashlib.new()对象需要一个参数,为加密方式,不区分大小写。


好了,今天的课程就到这里,我是wangzirui32,喜欢的可以点个收藏和关注,我们下次再见!