как расшифровать в угловых 5, в то время как данные, зашифрованные с помощью crypto.js в express.js - PullRequest
0 голосов
/ 29 ноября 2018

Я зашифровал некоторый текст, используя следующий код в express.js: -

var crypto = require('crypto'),
algorithm = 'aes-256-ctr',
password = '6A80FD8D38D579D1090F6CDB62CA34CA',
iv = '79b67e539e7fcadf';

var cipher = crypto.createCipheriv(algorithm,password,iv)
var crypted = cipher.update('hello world','utf8','hex')
crypted += iv.toString('hex') + cipher.final('hex');
console.log(crypted)

И теперь я хотел расшифровать этот encryptedText в angular 5. Но я не могу найти какой-либо способ сделатьэтот.Я пытаюсь следующий код: -

import * as CryptoJS from 'crypto-js';
var key = CryptoJS.enc.Utf8.parse('6A80FD8D38D579D1090F6CDB62CA34CA');
var iv = CryptoJS.enc.Utf8.parse('79b67e539e7fcadf');

var decrypted = CryptoJS.AES.decrypt(encryptedTextHere, key, {
    iv: iv,
    mode: CryptoJS.mode.CTR,
});

Любая помощь в получении правильного кода высоко ценится.Спасибо

1 Ответ

0 голосов
/ 29 ноября 2018

попробуй вот так

import { AES, enc, mode } from 'crypto-js';

const key = enc.Utf8.parse('6A80FD8D38D579D1090F6CDB62CA34CA');
const iv = enc.Utf8.parse('79b67e539e7fcadf');

const decrypted = AES.decrypt('encryptedTextHere', key, {
  iv: iv,
  mode: mode.CTR
});
console.log(decrypted.toString(enc.Utf8));

Также обязательно установи набрав

npm i @types/crypto-js --save-dev
...