Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)

Python hashlib 加密

Python 提供了 hashlib 模块来进行加密操作。在下面的文章中,我们将介绍 hashlib 模块的常用加密算法。

1. hashlib 简介

hashlib 模块是 Python 中用于加密的标准库。它包含了所有常见的哈希函数,例如 SHA1、SHA224、SHA256、SHA384、SHA512、MD5 等。这些哈希函数都是单向的,即只能对信息进行加密,而无法解密。

2. hashlib 使用方法

使用 hashlib 进行加密的方法非常简单,以下是一个使用示例:

import hashlib
# 创建一个 MD5 的加密对象
hash_object = hashlib.md5()
# 更新加密对象中的信息
hash_object.update(b'Hello World')
# 打印加密后的结果
print(hash_object.hexdigest())
# 输出结果: b10a8db164e0754105b7a99be72e3fe5

其中 b'Hello World' 表示将字符串 'Hello World' 转化为二进制数据,传入到加密对象中。

3. 常用的哈希函数

3.1 MD5

MD5 是一种常见的哈希函数,它可以将任意长度的信息转换为一个 128 位的哈希值。以下是一个使用 MD5 进行加密的示例:

import hashlib
# 创建一个 MD5 的加密对象
hash_object = hashlib.md5()
# 更新加密对象中的信息
hash_object.update(b'Hello World')
# 打印加密后的结果
print(hash_object.hexdigest())
# 输出结果:b10a8db164e0754105b7a99be72e3fe5

3.2 SHA1

SHA1 是一种安全性较高的哈希函数,它可以将任意长度的信息转换为一个 160 位的哈希值。以下是一个使用 SHA1 进行加密的示例:

import hashlib
# 创建一个 SHA1 的加密对象
hash_object = hashlib.sha1()
# 更新加密对象中的信息
hash_object.update(b'Hello World')
# 打印加密后的结果
print(hash_object.hexdigest())
# 输出结果:0a4d55a8d778e5022fab701977c5d840bbc486d0

3.3 SHA256

SHA256 是一种安全性更高的哈希函数,它可以将任意长度的信息转换为一个 256 位的哈希值。以下是一个使用 SHA256 进行加密的示例:

import hashlib
# 创建一个 SHA256 的加密对象
hash_object = hashlib.sha256()
# 更新加密对象中的信息
hash_object.update(b'Hello World')
# 打印加密后的结果
print(hash_object.hexdigest())
# 输出结果:b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

3.4 SHA512

SHA512 是一种安全性最高的哈希函数,它可以将任意长度的信息转换为一个 512 位的哈希值。以下是一个使用 SHA512 进行加密的示例:

import hashlib
# 创建一个 SHA512 的加密对象
hash_object = hashlib.sha512()
# 更新加密对象中的信息
hash_object.update(b'Hello World')
# 打印加密后的结果
print(hash_object.hexdigest())
# 输出结果:309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f
61c8c26b58b25c723f6185c07c6b7888304ddcf75a9d6c1e9a6c683b0b9d24

4. 总结

Python hashlib 模块提供了多种哈希函数,包括 MD5、SHA1、SHA256 和 SHA512 等。使用 hashlib 进行加密非常简单,在创建加密对象后,只需要传入需要加密的信息即可。经过哈希函数加密后的信息是不可逆的,保证了信息的安全性。

相关文章
|
1月前
|
测试技术 API Python
【10月更文挑战第1天】python知识点100篇系列(13)-几种方法让你的电脑一直在工作
【10月更文挑战第1天】 本文介绍了如何通过Python自动操作鼠标或键盘使电脑保持活跃状态,避免自动息屏。提供了三种方法:1) 使用PyAutoGUI,通过安装pip工具并执行`pip install pyautogui`安装,利用`moveRel()`方法定时移动鼠标;2) 使用Pymouse,通过`pip install pyuserinput`安装,采用`move()`方法移动鼠标绝对位置;3) 使用PyKeyboard,同样需安装pyuserinput,模拟键盘操作。文中推荐使用PyAutoGUI,因其功能丰富且文档详尽。
WK
|
19天前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
67 36
|
29天前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
30天前
|
机器学习/深度学习 数据采集 数据挖掘
11种经典时间序列预测方法:理论、Python实现与应用
本文将总结11种经典的时间序列预测方法,并提供它们在Python中的实现示例。
63 2
11种经典时间序列预测方法:理论、Python实现与应用
|
24天前
|
存储 安全 Java
|
26天前
|
开发者 Python
Python中的魔法方法与运算符重载
在Python的奇妙世界里,魔法方法(Magic Methods)和运算符重载(Operator Overloading)是两个强大的特性,它们允许开发者以更自然、更直观的方式操作对象。本文将深入探讨这些概念,并通过实例展示如何利用它们来增强代码的可读性和表达力。
|
1月前
|
Linux Python
Python获得本机本地ip地址的方法
【10月更文挑战第8天】 socket模块包含了丰富的函数和方法,可以获取主机的ip地址,例如gethostbyname方法可以根据主机名获取ip地址,gethostbyname_ex方法可以获得本机所有ip地址列表,也可以使用netifaces模块获取网卡信息。
36 0
|
1月前
|
SQL 安全 数据库
Python防止SQL注入攻击的方法
Python防止SQL注入攻击的方法
47 0
|
1月前
|
Python
Python中tqdm模块的常用方法和示例
`tqdm` 是一个快速、可扩展的Python进度条库,适用于长循环中添加进度提示。通过封装迭代器 `tqdm(iterator)`,可以轻松实现进度显示。支持自定义描述、宽度及嵌套进度条,适用于多种迭代对象。在Jupyter notebook中,可自动调整显示效果。
34 0
|
1月前
|
Python
Python中threading模块的常用方法和示例
Python 的 `threading` 模块提供了多线程编程的能力,允许同时执行多个线程。主要类包括 `Thread`、`Lock` 和 `Condition`。`Thread` 类用于创建和管理线程,`Lock` 用于同步线程,防止资源竞争,`Condition` 用于线程间协调。本文介绍了这些类的常用方法及示例代码,帮助你更好地理解和使用多线程编程。
28 0