Java程序如下:
String dataStr = "这是数据字符串,abcd,{\"key\":\"value\"}test";
byte[] data = dataStr.getBytes("UTF-8");
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] bytes = md.digest(data);
StringBuilder javaResult = new StringBuilder();
for (byte b : bytes) {
javaResult.append(String.format("%02x", b));
}
System.out.println(javaResult.toString().toUpperCase());
运行结果:E9A6665319CFE263E086B0C9A53E6283
go程序如下:
paramStr := "这是数据字符串,abcd,{\"key\":\"value\"}test"
dataByte,_:= base64.StdEncoding.DecodeString(paramStr)
byte16 := md5.Sum(dataByte)
// 将[]byte转成16进制
goResult := fmt.Sprintf("%x", byte16)
fmt.Println(strings.ToUpper(goResult))
运行结果:D41D8CD98F00B204E9800998ECF8427E
我的go是不是哪儿没有写对啊,欢迎回答提供解决方案