python中md5加密的实现
2023-06-13 09:12:41 时间
大家好,又见面了,我是你们的朋友全栈君。
MD5消息摘要算法:(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5是最常见的摘要算法,速度很快,生成结果是固定的128 bit字节,通常用一个32位的16进制字符串表示。
Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。
摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。
在python3的标准库中,已经移除了md5模块,而关于hash加密算法都放在hashlib这个标准库中,如SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等。
示例代码(一):
import hashlib
# 待加密信息
str = 'this is a md5 Test.'
# 创建md5对象
hl = hashlib.md5()
# Tips
# 此处必须声明encode
# 若写法为hl.update(str) 报错为: Unicode-objects must be encoded before hashing
hl.update(str.encode(encoding='utf-8'))
print('MD5加密前为 :' + str)
print('MD5加密后为 :' + hl.hexdigest())
运行结果:
MD5加密前为 :this is a md5 Test.
MD5加密后为 :d3e616f6b5be276111f227c80b4ec516
示例代码(二):
import hashlib
str = 'this is a md5 Test.'
str_md5 = hashlib.md5(str.encode(encoding='utf-8')).hexdigest()
print(str_md5)
运行结果:
d3e616f6b5be276111f227c80b4ec516
示例代码(三):
import hashlib
def computeMD5(message):
m = hashlib.md5()
m.update(message.encode(encoding='utf-8'))
return m.hexdigest()
str = 'this is a md5 Test.'
print(computeMD5(str))
运行结果:
d3e616f6b5be276111f227c80b4ec516
【md5补充代码】
import hashlib
data = 'hoahaoxuexi,tiantianxiangshang!'
# 创建hash对象
md5 = hashlib.md5()
# 向hash对象中添加需要做hash运算的字符串
md5.update(data.encode()) # 这个地方传的是bytes类型的数据,否则会报错
# 获取字符串的hash值
result = md5.hexdigest()
print(result)
运行效果:
【md5一旦加密,数据就不能返回成原来的值了,是不可以解密的】【对于同一个字符串稍微做一点修改,加密后的哈希值变化是很大的】
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157293.html原文链接:https://javaforall.cn
相关文章
- Python怎么输入小数和整数_python输入非负整数
- [1155]python--AES加密
- python中输入输出
- python使用matplotlib绘图 — barChart
- Python中通过PyPDF2实现PDF加密[通俗易懂]
- python aes ecb_python简单加密
- python语言一般用于什么_PYthon
- [Python图像处理] 十四.基于OpenCV和像素处理的图像灰度化处理
- python调用通达信公式_通达信公式-主力雷达Python化[通俗易懂]
- Python文件名后缀_python获取目录下所有文件的文件名
- 数据结构与算法Python_数据结构与算法python语言实现
- python分段线性插值_Python实现分段线性插值
- centos下安装python MySQLdb
- 常见的加密方式之python实现
- Python实现的hash加密小工具详解编程语言
- Python MongoDB Spatial Query详解大数据
- 开发Linux下Python编程:实现自己的开发梦想(linux下python)
- MySQL与Python搭配,实现数据库操作。(mysql-python)
- Python结合MySQL实现信息交互(python与mysql交互)
- 如何使用Python安装MySQL(python安装mysql)
- Python脚本实现Linux系统管理及自动化部署(python写linux)
- python驱动使用pip安装MySQL Python驱动的简单步骤(pip安装mysql)
- Python在MSSQL中的应用实践(python与mssql)
- Python爬取MySQL数据,助力数据分析(python读取mysql数据)
- Python脚本实现Linux命令快捷控制(python执行linux命令)
- python使用循环实现批量创建文件夹示例