获取hash值
code
from hashlib import md5
from hashlib import sha1
from hashlib import sha224
from hashlib import sha384
from hashlib import sha512
import hashlib
def hashForString(method,srcbyte):
srcbyte = srcbyte.encode('gb2312')
testnew = hashlib.new(method,data=srcbyte).hexdigest()
print(testnew)
if method == 'md5':
m = md5()
#生成hash对象后,用update方法对字符串进行md5加密的更新处理
m.update(srcbyte)
srcbyte = m.hexdigest()
elif method == 'sha1':
s = sha1()
s.update(srcbyte)
srcbyte = s.hexdigest()
elif method == 'sha224':
s = sha224()
s.update(srcbyte)
srcbyte = s.hexdigest()
elif method == 'sha384':
s = sha384()
s.update(srcbyte)
srcbyte = s.hexdigest()
elif method == 'sha1':
s = sha512()
s.update(srcbyte)
srcbyte = s.hexdigest()
return srcbyte
# print(hashForString('md5','math'))
没有重新构建md5对象字符串会累加
from hashlib import md5
if __name__ == '__main__':
srcbyte = "test".encode('utf-8')
m = md5()
# one
m.update(srcbyte) # hash "test"
print("one")
print(m.hexdigest())
# two
m.update(srcbyte) # hash "testtest"
print("two")
print(m.hexdigest())
# three
m = md5()
m.update(srcbyte) # hash "test"
print("three")
print(m.hexdigest())
# four
m = md5()
m.update(srcbyte + srcbyte) # hash "testtest"
print("four")
print(m.hexdigest())
参考
利用Python 生成hash值
SHA512 Python对同一个字符串产生了不同的结果