【随笔】一次JS和python中的MD5加密的记录
// 使用CryptoJS进行MD5加密和Base64编码
const sign = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(CryptoJS.MD5(sign2encrypt).toString()));
上面这段JS和下面这个python等价
def hash_and_encode(input_string):
sign2encrypt = input_string
# 使用 hashlib 进行 MD5 加密
md5_hash = hashlib.md5(sign2encrypt.encode('utf-8')).hexdigest()
# 使用 base64 编码
sign = base64.b64encode(md5_hash.encode('utf-8')).decode('utf-8')
return sign
而不是和下面的等价
def hash_and_encode(input_string):
sign2encrypt = input_string
# 使用 hashlib 进行 MD5 加密
md5_hash = hashlib.md5(sign2encrypt.encode('utf-8')).digest()
# 使用 base64 编码
sign = base64.b64encode(md5_hash).decode('utf-8')
return sign
JavaScript (CryptoJS) 使用了 CryptoJS 库进行 MD5 和 Base64 编码,直接处理字节数组。
Python (hexdigest) 使用 hashlib.md5(…).hexdigest() 生成十六进制字符串,并需要先转换为字节数据,再进行 Base64 编码。
Python (digest) 使用 hashlib.md5(…).digest() 生成字节数据,并用 Base64 编码处理字节数据。
另外postman的Console按Ctrl+Alt+C调出