我如何在Native JS中使用cryptojs?

时间:2019-06-25 07:55:38

标签: cryptojs

我在HTML中的NativeJS中使用cryptoJs。但是当我使用aesDecrypt(decrypted,key)解密txt时,它将无法正常工作。我尝试了许多其他密码,但仍然无法正常工作。你们会看下面的代码并给我一些建议吗?

我在后端尝试了许多密码(例如aes-192-ecb,aes-256-ecb),但仍然无法正常工作。它报告:加密错误错误。

Front code: encrypt the txt and send to backend.
function aesEncrypt(data, key) {    
    key = CryptoJS.enc.Utf8.parse(key);    
    let encrypted = CryptoJS.AES.encrypt(data, key, {    
        mode: CryptoJS.mode.ECB,    
        padding: CryptoJS.pad.Pkcs7    
    });    
    return encrypted.toString();    
}   

Backend code: decrypt the txt sent from front.
function aesDecrypt(encrypted, key) {    
    const decipher = crypto.createDecipher('aes192', key);    
    let decrypted = decipher.update(encrypted, 'binary', 'utf8');    
    decrypted += decipher.final('utf8');    
    return decrypted;    
}

1 个答案:

答案 0 :(得分:0)

看起来我在前端和后端使用了错误的方法。

~/tmp$ ls -l
total 56
-rwxrwxr-x 1 polyphemus polyphemus 56948 Jun 25 22:43 MMM
~/tmp$ file MMM
MMM: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 2.2.5, stripped
~/tmp$ ./MMM
JAVA_HOME is not set. ./MMM cannot start.