前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python中md5加密的实现

python中md5加密的实现

作者头像
全栈程序员站长
发布2022-09-15 11:50:44
2.2K0
发布2022-09-15 11:50:44
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

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算法等。

示例代码(一):

代码语言:javascript
复制
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())

运行结果:

代码语言:javascript
复制
MD5加密前为 :this is a md5 Test.
MD5加密后为 :d3e616f6b5be276111f227c80b4ec516

示例代码(二):

代码语言:javascript
复制
import hashlib

str = 'this is a md5 Test.'
str_md5 = hashlib.md5(str.encode(encoding='utf-8')).hexdigest()
print(str_md5)

运行结果:

代码语言:javascript
复制
d3e616f6b5be276111f227c80b4ec516

示例代码(三):

代码语言:javascript
复制
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))

运行结果:

代码语言:javascript
复制
d3e616f6b5be276111f227c80b4ec516

【md5补充代码】

代码语言:javascript
复制
import hashlib

data = 'hoahaoxuexi,tiantianxiangshang!'

#  创建hash对象
md5 = hashlib.md5()

#  向hash对象中添加需要做hash运算的字符串
md5.update(data.encode())   #  这个地方传的是bytes类型的数据,否则会报错

#  获取字符串的hash值
result = md5.hexdigest()
print(result)

运行效果:

python中md5加密的实现
python中md5加密的实现

【md5一旦加密,数据就不能返回成原来的值了,是不可以解密的】【对于同一个字符串稍微做一点修改,加密后的哈希值变化是很大的】

python中md5加密的实现
python中md5加密的实现

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157293.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档