【问题标题】:Encryption with DES with urlENcode(encrypt)使用带有 urlENcode 的 DES 加密(加密)
【发布时间】:2017-06-01 14:46:42
【问题描述】:

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

解密来自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;
       };

【问题讨论】:

    标签: encryption des


    【解决方案1】:

    与:

    urlEncode(encrypt(decodedKey, value));
    

    你首先加密然后 url-encode。当您需要解密时,您需要先 url-decode 然后解密 - 类似于:

    decrypt(decodedKey, urlDecode(em));
    

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

    urlDecode(decrypt(decodedKey, em));
    

    另外,请注意 DES 被认为是不安全,应该避免使用。使用像 AES 这样的安全密码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 2014-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多