Python MD5 加密、解密详解(hashlib)
文章目录1 概述2 安装步骤2.1 检查系统是否已安装 mysql2.2 下载地址2.3 添加 init 初始化文件2.4 启动服务3 登录验证3.1 修改密码1 概述1. 目的:配置本地环境,随意开发随意玩2. 说明:如果只需要远程连接数据库,那么就不需要安装 mysql2 安装步骤2.1 检查系统是否已安装 mysql检查方法:1. 快捷键 Win + r,打开运行窗口2. 输入 servic
·
文章目录
1 概述
1.1 hashlib 库
> pip install hashlib
1.2 在线加密、解密
2 hashlib 模块
2.1 hashlib 模块的两个常量属性
属性 | 描述 |
---|---|
hashlib.algorithms_guaranteed | 所有平台中,模块支持的 hash 算法列表 |
hashlib.algorithms_available | 当前 Python 解释器环境中,模块支持的 hash 算法列表 |
>>> hashlib.algorithms_guaranteed
{'sha3_512', 'shake_128', 'sha3_256', 'sha3_384', 'sha256',
'md5', 'sha1', 'sha3_224', 'sha384', 'blake2s', 'shake_256',
'sha224', 'sha512', 'blake2b'}
>>> hashlib.algorithms_available
{'sha3_384', 'sha256', 'sha384', 'sha512_224', 'sha512',
'sha3_512', 'sha1', 'md5-sha1', 'sha3_256', 'sha224',
'md4', 'sm3', 'ripemd160', 'sha512_256', 'sha3_224',
'whirlpool', 'shake_128', 'md5', 'mdc2', 'blake2s', 'shake_256', 'blake2b'}
2.2 hash 对象的属性及方法
import hashlib
from _hashlib import HASH
# 1.获取 hash 对象
# 方式1:h = hashlib.md5() # hash 对象
# 方式2:指定 HASH 类型,方便代码提示
h: HASH = hashlib.md5() # hash 对象
# 2.添加信息
h.update(b'123abc')
# 3.获取信息摘要
print(h.digest()) # 作为字节对象返回摘要值
print(h.hexdigest()) # 以十六进制数字字符串的形式返回摘要值
# 4.其它信息
print(h.digest_size) # 信息摘要的位长
print(h.block_size) # 信息摘要的内部块大小
print(h.name) # 算法名称
3 示例
3.1 加密
import hashlib
# 加密
def md5_encrypt(password):
md5 = hashlib.md5()
md5.update(password.encode("utf-8"))
return md5.hexdigest()
if __name__ == '__main__':
password = '123'
password_encrypt = md5_encrypt(password)
print(f'加密前:{password},加密后:{password_encrypt}')
3.2 解密
import hashlib
# 加密
def md5_encrypt(password):
md5 = hashlib.md5()
md5.update(password.encode("utf-8"))
return md5.hexdigest()
# 解密(不可逆,可用密码字典破解)
def md5_decrypt(password, md5_str):
return md5_encrypt(password) == md5_str
if __name__ == '__main__':
print(md5_decrypt('123', '202cb962ac59075b964b07152d234b70'))
更多推荐
已为社区贡献7条内容
所有评论(0)