python 模块加密_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())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值