如何从 Java 脚本获取 Java DigestUtils.md5() 输出?
How to get Java DigestUtils.md5() output from Javascript?
Java 使用的代码
用于生成签名的 Apache Commons 库:
byte[] md5 = DigestUtils.md5("test");
String signature = Base64.encodeBase64String(md5);
System.out.println(signature);
// CY9rzUYh03PK3k6DJie09g==
Java我正在尝试编写脚本代码以获得相同的输出:
const md5 = CryptoJS.MD5("test");
const signature = btoa(md5);
console.log(signature);
// MDk4ZjZiY2Q0NjIxZDM3M2NhZGU0ZTgzMjYyN2I0ZjY=
如果我像这样更改 Java 代码,我知道如何获得相同的输出:
String md5 = DigestUtils.md5Hex("test");
String signature = Base64.encodeBase64String(md5.getBytes(StandardCharsets.UTF_8));
System.out.println(signature);
// MDk4ZjZiY2Q0NjIxZDM3M2NhZGU0ZTgzMjYyN2I0ZjY=
但不幸的是,我不允许修改 Java 代码,所以我该如何修改 Javascript 代码,以获得与 Java 代码相同的输出?
我想我自己找到了解决方案:
const md5 = CryptoJS.MD5("test");
const signature = md5.toString(CryptoJS.enc.Base64);
console.log(signature);
// CY9rzUYh03PK3k6DJie09g==
Java 使用的代码 用于生成签名的 Apache Commons 库:
byte[] md5 = DigestUtils.md5("test");
String signature = Base64.encodeBase64String(md5);
System.out.println(signature);
// CY9rzUYh03PK3k6DJie09g==
Java我正在尝试编写脚本代码以获得相同的输出:
const md5 = CryptoJS.MD5("test");
const signature = btoa(md5);
console.log(signature);
// MDk4ZjZiY2Q0NjIxZDM3M2NhZGU0ZTgzMjYyN2I0ZjY=
如果我像这样更改 Java 代码,我知道如何获得相同的输出:
String md5 = DigestUtils.md5Hex("test");
String signature = Base64.encodeBase64String(md5.getBytes(StandardCharsets.UTF_8));
System.out.println(signature);
// MDk4ZjZiY2Q0NjIxZDM3M2NhZGU0ZTgzMjYyN2I0ZjY=
但不幸的是,我不允许修改 Java 代码,所以我该如何修改 Javascript 代码,以获得与 Java 代码相同的输出?
我想我自己找到了解决方案:
const md5 = CryptoJS.MD5("test");
const signature = md5.toString(CryptoJS.enc.Base64);
console.log(signature);
// CY9rzUYh03PK3k6DJie09g==