标签:hash date 有一个 产生 特点 hex 不同 输出 数据加密解密
概念:
对称加密: 数据加密解密使用相同的密钥
非对称加密: 加密和解密用两把不同的密钥, 公钥用于加密数据,私钥用于解密数据
单向加密: 只能加密数据,而不能解密数据
hash: 散列函数,一般翻译为哈希,把的任意长度的数据,通过散列函数进行转化,变成一个长度固定的值(散列值), 这个值基本是唯一的,简单来说,hash算法就是一种将任意长度的数据变成一个长度固定的数据的函数
特点: 1. 不可逆: 无法根据散列值来还原原来的数据
hashlib模块提供了许多供我们调用的hash算法,主要有:
hashlib.new(name, data=b) 生成一个hash对象
hashlib.hash算法名(data=b) 生成一个使用该算法的hash对象
hash对象.update(arg=None) 更新hash对象
hash对象.digest() 返回hash算法计算得到的值(bytes类型)
hash对象.hexdigest() 返回hash算法计算得到的值(str类型)
# 注意: 二进制 # 所以要记得encode() 进行编码
res = hashlib.md5('龙东成'.encode())
print(res.hexdigest()) # hexdigest() 返回hash算法计算得到的值
res2 = hashlib.sha256()
res2.update('龙'.encode()) # update可以多次使用
print(res2.hexdigest())
# 其它使用方法类似
标签:hash date 有一个 产生 特点 hex 不同 输出 数据加密解密
原文地址:https://www.cnblogs.com/nichengshishaonian/p/10961359.html