hashlib模块--摘要算法
2023-09-14 08:57:25 时间
算法介绍:
Python的hashlib提供了常见的摘要算法;MD5,SHA()等。
摘要算法,又称哈希算法,散列算法。通过一个函数,吧任意长度的字符串转换为固定长度的字符串(16进制)
摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,母的就是为了防止原始数据被篡改
摘要算法是一个单向函数,计算data容易,反向计算data却是非常困难,而且对于原始数据做出一个bit的修改都会导致计算出的摘要完全不同
import hashlib md5 = hashlib.md5() md5.update('zhang'.encode('utf-8')) print(md5.hexdigest())
计算结果:d0cd2693b3506677e4c55e91d6365bff
应用:保存在数据库中的密码文件
黑客破解密码:黑客手机都有一份常见密码的MD5反推表,通过和数据库文件对比可以轻易的知道你的用户名密码;
为了防止被黑客篡改,此时就应‘加盐’
while True: '''对输入的密码加密''' import hashlib user = input('username:') passwd = input('password:') md5 = hashlib.md5(user.encode('utf-8')) #加盐 md5.update(passwd.encode('utf-8')) print(md5.hexdigest())
相关文章
- 八大排序算法(C语言实现)
- 十大经典排序算法详解(三)-堆排序,计数排序,桶排序,基数排序[通俗易懂]
- 每日算法刷题Day4-完全数、分情况输出、平方矩阵、斐波那契数列匹配输出
- 振弦采集模块的校验码算法
- 快速幂算法详解
- 刷完这19道leetcode二分查找算法,不信进不了大厂
- 独家 | 三个经典强化学习算法中重大缺陷(及如何修复)
- 算法工程师成长必备:一套小白也能看懂的算法书!
- Python模块——HashLib(摘要算法)与base64详解编程语言
- 程序兵法:Java String 源码的排序算法(一)
- 阿里云启动天池医疗AI大赛,鼓励算法挑战早期肺癌诊断 | 云栖 2017 深圳
- Oracle 二叉树遍历算法优雅解决复杂问题(oracle 二叉树遍历)
- FDA召开公开会议,着重讨论医疗AI的数据多样性及算法偏见问题
- C#几种排序算法
- C++实现查找中位数的O(N)算法和Kmin算法