使用Crypto-JS将加密算法中的DES算法解码转换为JavaScript或C#

时间:2020-05-31 12:56:38

标签: javascript c# cryptojs

Cryptographic calculator screenshot

我正在尝试用Javascript复制算法,这是到目前为止我所做的事情

function SubmitEncrypt() {
        var msg = document.getElementById("encrypted").value;
        var _enc = enc(msg);
        console.log(_enc);

        var _dec = dec(_enc);
        console.log(_dec); 

    }

    const SECRET = '0123456789abcdef'

    function enc(hexText) {
        var b64 = CryptoJS.DES.encrypt(hexText, SECRET).toString();
        var e64 = CryptoJS.enc.Base64.parse(b64);
        var eHex = e64.toString(CryptoJS.enc.Hex);
        return eHex;

    }

    function dec(cipherText) {
        var reb64 = CryptoJS.enc.Hex.parse(cipherText);
        var bytes = reb64.toString(CryptoJS.enc.Base64);
        var decrypt = CryptoJS.DES.decrypt(bytes, SECRET);
         var plain = decrypt.toString(CryptoJS.enc.Utf8);
        return plain;
    }

唯一的条件是您必须具有十六进制输入,而我实际上对此步骤感到困惑。如果有人可以在这里帮助我,或者让我知道使用JavaScript或C#的正确方法,我将不胜感激。

0 个答案:

没有答案