【问题标题】:How to get original string back in CryptoJS using TripleDES?如何使用 TripleDES 在 CryptoJS 中取回原始字符串?
【发布时间】:2014-12-11 08:44:12
【问题描述】:

我正在尝试使用 TripleDES.js 在 JavaScript 中加密和解密。这是我的代码 sn-p:

加密方式:

encrypt_string = function (plainData) {

   var encrypted = CryptoJS.TripleDES.encrypt(plainData, "My Secret Key");

   alert("Encrypted: " + encrypted);

}

解密方法:

decrypt_string = function (cipherData) {

   var decrypted = CryptoJS.TripleDES.decrypt(cipherData, "My Secret Key");

   alert("Decrypted: " + decrypted);

}

plainData 作为Gokul Nath 传递给encrypt_string() 时,警报消息显示:

U2FsdGVkX1/huVhh9IQhJF72gcs26f1l0+hNSsWEXsc=

cipherData 作为U2FsdGVkX1/huVhh9IQhJF72gcs26f1l0+hNSsWEXsc= 传递给decrypt_string() 时,警报消息显示:

476f6b756c204e617468

问题:解密时如何获取原始明文数据?

【问题讨论】:

    标签: javascript encryption cryptojs tripledes


    【解决方案1】:

    476f6b756c204e617468是原始字符串的十六进制表示:

    47 6f 6b 75 6c 20  4e 61 74 68
    G  o  k  u  l  |/  N  a  t  h
                   |
                   +-> this is a space
    

    您可以使用decrypted.toString(CryptoJS.enc.Latin1) 之类的东西来获取字符串值,如下所示:

    <script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/tripledes.js"></script>
    <script>
        var encrypted = CryptoJS.TripleDES.encrypt("Gokul Nath", "My Secret Key");
        var decrypted = CryptoJS.TripleDES.decrypt(encrypted, "My Secret Key");
        alert("Decrypted: " + decrypted.toString(CryptoJS.enc.Latin1));
    </script>
    

    给出:

    【讨论】:

      猜你喜欢
      • 2021-10-23
      • 2012-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      • 2020-10-30
      • 2011-03-05
      相关资源
      最近更新 更多