python3中使用md5

MD5

首先来介绍一下什么是md5
MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)
详细查看百度百科md5

在python3中的用法

import hashlib

# 创建MD5对象,可以直接传入要加密的数据
m=hashlib.md5('123456'.encode(encoding='utf-8'))
# m=hashlib.md5(b'123456') 与上面等价
print(m) 
print(m.hexdigest()) # 转化为16进制打印md5值

这里传入的字符串前加以个b将其转为二进制,或者声明为utf-8,否则回报错误TypeError: Unicode-objects must be encoded before hashing
输出结果为

<md5 HASH object @ 0x000001C67C71C8A0>
e10adc3949ba59abbe56e057f20f883e

也可以使用MD5对象的update()方法传入要加密的数据

import hashlib

str='This is a string.'
m=hashlib.md5()
m.update(str.encode(encoding='utf-8'))
print(m.hexdigest())

结果为:

13562b471182311b6eea8d241103e8f0

如果要被加密的数据太长,可以分段update,结果是一样的

import hashlib

str='This is a string.'
m=hashlib.md5()
m.update('This i'.encode('utf-8'))
m.update('s a string.'.encode('utf-8'))
print(m.hexdigest())

结果为:

13562b471182311b6eea8d241103e8f0

写的不好请见谅,坚持写东西,慢慢成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值