Невозможно расшифровать зашифрованное значение в crypto-js с помощью crypto-js в приложении ionic3 - PullRequest
0 голосов
/ 08 мая 2019

-Я успешно выполнил часть шифрования имени пользователя и значения -password с помощью crypto-js в приложении ionic v3 для захвата его в -firebase-analytics.

import { Component, Input } from "@angular/core";

class Model {
    param1: string;
    value:any;
    myPassword = "my message 123";


function decrypt(this.someuservalue:any,this.somemailid:any){
const encrypted = CryptoJS.AES.encrypt(this.someuservalue,
 myPassword).toString();
}

}

-haveтакже получил зашифрованные значения в базе данных firebase.

-Но сейчас, чтобы расшифровать его в другом независимом файле javascript, я не могу это сделать.- Вот как я пытаюсь его расшифровать

var decrypted = CryptoJS.AES.decrypt(cipher, value);
var plaintext = = decrypted.toString(CryptoJS.enc.Utf8);

- Но я не могу этого сделать, - Любая помощь может быть высоко оценена.

- Спасибо,

-Я пробовал

var cipher = "encrypted value from the above implemented encryption"
password = "my message 123";

var rawData = atob(cipher);
    var iv = btoa(rawData.substring(0,16));
    var crypttext = btoa(rawData.substring(16));
    var plaintextArray = CryptoJS.AES.decrypt(
 {
    ciphertext: CryptoJS.enc.Base64.parse(crypttext),
    salt: ""
  },
  CryptoJS.enc.Hex.parse(password),
  { iv: CryptoJS.enc.Base64.parse(iv) }
);

var bytes = CryptoJS.AES.decrypt({
ciphertext: CryptoJS.enc.Utf8.parse(cipher)
}, password, {format: CryptoJS.format.Utf8 });
var plaintext = bytes.toString();


- похоже, не сработало.

1 Ответ

1 голос
/ 08 мая 2019

Взгляните на Sodium (libsodium.js).

Sodium - это современная, простая в использовании программная библиотека для шифрования, дешифрования, подписей, хеширования паролей и многого другого.

Это портативный, кросс-компилируемый, устанавливаемый, пакетируемый форк NaCl, с совместимым API и расширенным API для еще большего повышения удобства использования.

Его цель - предоставить всеосновные операции, необходимые для создания высокоуровневых криптографических инструментов.

Sodium - это кроссплатформенность и кросс-языки.Он работает на различных компиляторах и операционных системах, включая Windows (с MinGW или Visual Studio, x86 и x86_64), iOS и Android.Версии Javascript и WebAssembly также доступны и полностью поддерживаются.Привязки для всех распространенных языков программирования доступны и хорошо поддерживаются.

Выбор дизайна подчеркивает безопасность и простоту использования.Но, несмотря на упор на высокий уровень безопасности, примитивы работают быстрее, чем большинство реализаций.

Версия 1.0.17 была выпущена 7 января 2019 года.

Ссылка:

...