python之hash模块加密
1.什么是hash
hash是一种算法,该算法接受传入的内容,经过运算得到一串hash值
1.如果把hash算法比喻为一座工厂
2.那传给hash算法的内容就是原材料
3.生成的hash值就是生产出的产品
2.为何要用hash算法
hash值/产品有三大特性:
1.只要传入的内容一样,得到的hash值必然一样
2.只要我们使用是hash算法固定,无论传入的内容有多大,得到的hash值的长度是固定
3.不可以用hash值逆推出原来的内容
基于1和2可以在下载文件时做文件一致性校验
基于1和3可以对密码进行加密
import hashlib
两种传值方式:
1.造出hash工厂
m=hashlib.md5() #hashlib.sha512 :可以选择不同的算法加密,不同的算法的加密结果的长度也会不一样
2.运送原材料
m.update('你好啊’.encode('utf-8'))
3.产出hash值
print(m.hexdigest)
1.
1.造出hash工厂
m=hashlib.md5('你'.encode('utf-8'))
2.运送原材料
m.update('你好啊’.encode('utf-8'))
3.产出hash值
print(m.hexdigest)
应用一:文件一致性校验
1.造出hash工厂
m=hashlib.md5()
2.运送原材料
with open(r'E:\01.mp4','rb') as f:
for line in f:
m.update(line)
3.产出hash值
print(m.hexdigest)
应用二:密码加密
m=hashlib.md5()
m.update('天王盖地虎'.encode('utf-8')) #添加个暗号,提升密码复杂度
m.update(password.encode('utf-8'))
print(m.hexdigest())
加密模块另一个加密模块 hmac
import hmac
m=hmac.new('小鸡炖蘑菇'.encode('utf-8')) #用法跟hash一样的用法,但必须要传个值,增加密码难度性
m.update('hello'.encode('utf-8'))
print(m.hexdigest())
转载于:https://www.cnblogs.com/Marcki/p/10111951.html
- Python模块学习 ---- hashlib hash加密
- python提供了一个进行hash加密的模块:hashlib
- Python3 加密(hashlib和hmac)模块的实现
- python3中hashlib模块的sha1加密
- python hash模块用key加密方法
- Python中hashlib模块, 快捷加密数据
- python高级(hashlib加密模块)
- python的一些加密方法及python 加密模块
- 关于python hashlib模块的MD5加密问题
- python模块知识三 hashlib 加密模块、collections、re模块
- python中的hashlib和base64加密模块使用实例
- Python3 加密(hashlib / hmac)
- python加密模块使用,aes128,ecb模式
- Python AES加密模块用法分析
- [置顶] 【python 加密解密】python中的加密解密模块使用
- python之hashlib、configparser、logging模块
- Python的加密模块md5、sha、crypt使用实例
- python学习之路(hashlib模块----加密)
- Python hashlib模块
- Python反射、模块中的变量os、sys、__file__、加密模块等