微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试在节点中重新创建 3des-ECB

如何解决尝试在节点中重新创建 3des-ECB

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=

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。