Как я могу использовать cryptojs в Native JS? - PullRequest
0 голосов
/ 25 июня 2019

Я использую cryptoJs в NativeJS, который находится в HTML. но когда я расшифровываю текст с помощью aesDecrypt (расшифрованный, ключ), и он не будет работать. Я пробовал много других шифров, и это все еще не работает. ребята, посмотрите на приведенный ниже код и дайте мне несколько советов?

Я попробовал много шифров (например, 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 голосов
/ 26 июня 2019

похоже, что я использовал неправильные методы как передний, так и внутренний.

front code:
<script src="https://cdn.jsdelivr.net/npm/crypto-js@3.1.9-1/crypto-js.js"></script>
let encrypted = CryptoJS.AES.encrypt("txt", "Secret Passphrase").toString();


backend code:
const cryptojs = require("crypto-js");
let txt = cryptojs.AES.decrypt(encrypted , "Secret Passphrase").toString(cryptojs.enc.Utf8);
...