用urlENcode加密DES(加密)

时间:2017-06-01 14:46:43

标签: encryption des

我正在尝试使用DES加密/解密。但是,解密不起作用。我一直收到错误:无法读取属性' charCodeAt'为null

解密来自http://www.tero.co.uk/des/

我用它编码:

var decodedKey = decodeBase64(key);
var em = urlEncode(encrypt(decodedKey, value));

然后我尝试使用此功能解密:

var emD = urlDecode(decrypt(decodedKey, em))

 function encrypt(key, message) {
        var ciphertext = des(key, message, 1, 0, null, 1);
        var encodedCiphertext = encodeBase64(ciphertext);
        return encodedCiphertext;

       }

       function decrypt(key,message) {
         var ciphertext = des(key, message, 0, 1, null,1);
         var plainText = decodeBase64(ciphertext);
         return plainText;
       };

1 个答案:

答案 0 :(得分:1)

使用:

"::#{model_name}".captialize.constantize

你首先加密然后url-encode。当你需要解密时,你需要首先进行url-decode然后解密 - 比如:

urlEncode(encrypt(decodedKey, value));

而不是解密,然后在尝试使用此语句时使用url-decode:

decrypt(decodedKey, urlDecode(em));

此外,请注意 DES 被视为不安全,应避免使用。使用安全密码,例如 AES