加密hashlib模块

加密hashlib模块,第1张

概述目录 hashlib和hmac模块: hashlib模块: -hash: 特点: 大致流程: 注意: hmac模块: 特点: 注意:hmac模块只接受二进制数据的加密 hashlib和hmac模块: --数据加密处理 hashlib模块: -hash: ----hash是一种算法(Python3.版本里使用hashlib模块代替了md5模块和sha模块,主要提供 SHA1、SHA224、SHA25

目录

hashlib和hmac模块: hashlib模块: -hash: 特点: 大致流程: 注意: hmac模块: 特点: 注意:hmac模块只接受二进制数据的加密 hashlib和hmac模块: --数据加密处理 hashlib模块: -hash: ----hash是一种算法(python3.版本里使用hashlib模块代替了md5模块和sha模块,主要提供 SHA1、SHA224、SHA256、SHA384、SHA512、MD5 算法),该算法接受传入的内容,经过运算得到一串hash值 特点: 只要传入的内容一样,得到的hash值一样,可用于非明文密码传输时密码校验 不能由hash值返解成内容,即可以保证非明文密码的安全性 只要使用的hash算法不变,无论校验的内容有多大,得到的hash值长度是固定的,可以用于对文本的哈希处理 大致流程: 原材料--》输入--》加工--》输出--》hash值
import hashlibm = hashlib.md5()m.update('hello'.encode('utf-8'))print(m.hexdiget())--5d41402abc4b2a76b9719d911017c592
注意: hash加密算法虽然看起来很厉害,但是他是存在一定缺陷的,即可以通过撞库可以反解
import hashlib# 假定我们知道hash的微信会设置如下几个密码pwd_List = [    'hash3714','hash1313','hash94139413','hash123456','123456hash','h123ash',]def make_pwd_dic(pwd_List):    dic = {}    for pwd in pwd_List:        m = hashlib.md5()        m.update(pwd.encode('utf-8'))        dic[pwd] = m.hexdigest()    return dicdef break_code(hash_pwd,pwd_dic):    for k,v in pwd_dic.items():        if v == hash_pwd:            print('hash的微信的密码是===>%s' % k)hash_pwd = '0562b36c3c5a3925dbe3c4d32a4f2ba2'break_code(hash_pwd,make_pwd_dic(pwd_List))hash的微信的密码是===>hash123456
hmac模块: -内部对我们创建key和内容做过某种处理后再加密。 特点: 要保证hmac模块最终结果一致,必须保证: hmac.new括号内指定的初始key一样 无论update多少次,校验的内容累加到一起是一样的内容
import hmach1 = hmac.new(b'hash')h1.update(b'hello')h1.update(b'world')print(h1.hexdigest())
注意:hmac模块只接受二进制数据的加密 总结

以上是内存溢出为你收集整理的加密hashlib模块全部内容,希望文章能够帮你解决加密hashlib模块所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1190920.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存