md5等hash加密

md5等hash加密

资源

https://www.cnblogs.com/lanston1/p/11025881.html

示例1

初始化一个对象,然后不停的update它。比较适合,文件等之类的加密。每次读一些内容,然后更新它。避免一次读大量数据到内容里面。如果切换了要hash的对象,那么相应的要重新 new 一个对象,而不是不停的update旧的对象。

import hashlib
md5 = hashlib.md5()
md5.update(b'123')
md5.hexdigest()  # 输出 '202cb962ac59075b964b07152d234b70'

# 如果是文本,python3以上都是unicode形式,所以,应该先编码
mystr.encode(encoding='UTF-8')

示例2

对于文本,我们可以在初始化的时候提供参数。

encoding可以是:UTF-8GBKGB2312GB18030

import hashlib
data = '你好' # 先编码成二进制格式
hashlib.md5(data.encode(encoding='UTF-8')).hexdigest()

# 也可以使用hash.new()这个一般方法,hashlib.new(name[, data]),name传入的是哈希加密算法的名称,如md5
hashlib.new('md5', b'123').hexdigest()