function crypt3() {
var CryptoJS = require("crypto-js");
var text = "Test";
var options = {
mode: CryptoJS.mode.ECB,
// padding: CryptoJS.pad.Pkcs7,
iv: CryptoJS.enc.Hex.parse("")
};
var key = "FRSF1P3b6fHiW/DXrK8ZJks5KAiyNpP0";
var keyHex = CryptoJS.enc.Hex.parse(key);
var textWordArray = CryptoJS.enc.Utf8.parse(text);
//var keyHex = CryptoJS.enc.Hex.parse(key);
var keyHex = CryptoJS.enc.Utf8.parse(key);
var encrypted = CryptoJS.TripleDES.encrypt(textWordArray, keyHex, options);
var base64String = encrypted.toString();
console.log(base64ToHex("AHDJ/V+jo1s=")) //0070C9FD5FA3A35B
console.log(base64ToHex(encrypted))
console.log('encrypted val: ' + base64String);//yxLYGJ9O+sY= CB12D8189F4EFAC6
}
function base64ToHex(str) {
const raw = atob(str);
let result = '';
for (let i = 0; i < raw.length; i++) {
const hex = raw.charCodeAt(i).toString(16);
result += (hex.length === 2 ? hex : '0' + hex);
}
return result.toUpperCase();
}
尝试在nodejs中重新创建https://www.devglan.com/online-tools/triple-des-encrypt-decrypt的功能,但无法获得类似的结果。我缺少什么...任何帮助将不胜感激。
预期:AHDJ/V+jo1s= 实际:yxLYGJ9O+sY=
const keyHex = CryptoJS.enc.Utf8.parse(myKey);
const encrypted = CryptoJS.DES.encrypt(myText, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
});
return encrypted.toString();