MD5
摘要&加密算法
【1】摘要算法:一切从MD5开始
MD5是一个非常常见的摘要(hash)逻辑.其特点就是小巧.速度快.极难被破解.所以,md5依然是国内非常多的互联网公司选择的密码摘要算法
1.这玩意不可逆.所以.摘要算法就不是一个加密逻辑.
2.相同的内容计算出来的摘要是一样的
3.不同的内容(哪怕是一丢丢丢丢丢不一样)计算出来的结果差别非常大
在数学上.摘要其实计算逻辑就是hash.
hash(数据)=> 数字
1.密码
2.一致性检测
md5的python实现
from hashlib import md5
obj = md5()
obj.update('123456'.encode('utf-8'))# update要的是bytes类型
bs = obj.hexdigest()
print(bs)
加盐
from hashlib import md5
obj = md5(b"dddddd") # 加盐
obj.update('123456'.encode('utf-8'))
bs = obj.hexdigest()
print(bs)
还可以分开update
作用是做文件一致性的时候,一次性做大文件的时候,内存吃不消,可以分开做
from hashlib import md5
obj = md5()
data01 = "123"
obj.update(data01.encode('utf-8'))
data02 = "456"
obj.update(data02.encode('utf-8'))
# 这个时候 就是和直接123456的结果是一样的
bs = obj.hexdigest()
print(bs)
我们有时候也会使用其他的摘要加密方式,我们只是引入
from hashlib import md5, sha1, sha256, sha512
分别实例化 就OK了 其他的都不变