算法规定:
md5base64算法,都是通用标准,先对字符串进行md5 返回byte[],然后对byte[]进行base64编码
经测验,以下两种语言输出相同,为DXXyzdKnb0UPUY2ksLmY/w==
java实现:
MessageDigest digest = MessageDigest.getInstance("MD5");
byte[] bts = digest.digest(s.getBytes("utf-8"));
BASE64Encoder encoder = new BASE64Encoder();
String sign = encoder.encode(bts);
return sign;
python实现
str='xxx'
# 创建md5对象
hl = hashlib.md5()
hl.update(str.encode("utf-8"))
base64data=base64.b64encode(hl.digest()).decode('utf-8')
print('base64data',base64data)
也可写为:
str='xxx'
md5_obj=hashlib.md5(str.encode("utf-8"))
base64data=base64.b64encode(md5_obj.digest()).decode('utf-8')
备注:hash.digest()
返回摘要,作为二进制数据字符串值