我在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;
}
答案 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.