一个加密的模块
hashlib 模块 - 加密模块
hashlib.md5
只能正向加密不能反向解密
越复杂的算法需要计算的时间, 空间成本均会增加
最常用的就是 md5 算法
- # 导入模块
- import hashlib
- #实例化 md5 加密对象
- #可以多向选择 sha1 加密
- md = hashlib.md5()
- #进行加密, 加密对象必须是 bytes 类型
- md.update(b'alex')
- m = md.hexdigest()
- print(m)
- #结果
可以进行密码的登 6 验证
可以进行文件的一致性验证
校验远程服务器和本地下载文件的一致性
校验本地两个文件的一致性
校验两台机器上的两个文件检查两个文件是否相等
加盐
文件的校验不能加盐
相当于双重加密
- import hashlib
- s = b'123456'
- #加盐, 就是在创建算法类型的时候传一个 bytes 类型参数
- md = hashlib.md5(b'ly')
- md.update(s)
- print(md.hexdigest())
- #结果
此时得到的结果不是存粹的创建密码对象
动态加盐
分批进行摘要
- import hashlib
- md5 = hashlib.md5()
- md5.update(b'al')
- md5.update(b'ex')
- print(md5.hexdigest())
- #结果
这个结果和 md5.update(b'alex') 结果是一致的
来源: http://www.bubuko.com/infodetail-2768531.html