pyhon之路---hashlib模块

什么叫hash:一种算法--->将bytes类型的数据转换为数字及字母

特点:

1.只要传入的内容一样,得到的hash值必然一样

import hashlib
m=hashlib.md5()
# m.update('您好'.encode('utf-8'))
# m.update('世界'.encode('utf-8'))
# print(m.hexdigest())        #---> 5877b5e90951e7db09239fcc91902bdc

m.update('您好世界'.encode('utf-8'))
print(m.hexdigest())          #---> 5877b5e90951e7db09239fcc91902bdc
这个特点可以用在文件传输过程中确保文件的完整性(内容一样,前后hash值也必然一样)

2.不能由hash值反解成原内容

 这个特点可以用于密码传输,用户输入密码,在客户端完成转换hash转换(产生密文),通过网络传输密文,与服务端的密文进行对比

但是,可以在传输过程中进行抓包,使用暴力破解(不断尝试不同的习惯密码组合以相同的hash算法转换,与抓到的hash密文对比)

所以我们使用密码加盐,来增加破解的难度(增加破解的成本)

import hashlib

user = input('输入账户>>>')
pwd = input('输入密码>>>')
#加盐
top = '12345'
bottom = 'cnm'
data = top + user + bottom + pwd
#锁加密
lock = hashlib.md5()
lock.update(data.encode('utf-8'))
特点3:只要hash算法不变,无论校验的内容有多大,得到的hash值的长度是不变的(保证hash值不影响文件在传输过程中的效率)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值