hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法.
一、固定字符串加密
import hashlib
md5_str = hashlib.md5()
md5_str.update('this is a random string'.encode('utf-8'))
md5_str.update('again add a random string'.encode('utf-8')) # update()方法可以多次调用
print(md5_str.hexdigest())
sha256_str = hashlib.sha256()
sha256_str.update('this is a random string'.encode('utf-8'))
sha256_str.update('again add a random string'.encode('utf-8'))
print(sha256_str.hexdigest())
二、随机生成字符串加密
import random
import hashlib
complex_str = "fs75@5fd%5386v^&#scs494**-cs/56/_ss$$DSD125c!#|FR54545dsdsc"
string_list = []
for i in range(15):
string_list.append(random.choice(complex_str))
salt = ''.join(string_list)
print(salt) # 打印显示的随机字符
hash_str = hashlib.md5()
hash_str.update(salt.encode())
md5_test = hash_str.hexdigest()
print(md5_test) # 打印加密后的md5值