Как зашифровать и расшифровать в Angular 6 - PullRequest
0 голосов
/ 26 ноября 2018

Ответ на вход в систему

{code: 200, id: 4, msg: «success», пользователь: «Sourav»}

У меня проблема, связанная с тем, что я хочу сохранить идентификатор и пользователяв локальном хранилище в зашифрованном формате. Как я могу сделать это с помощью Angular 6?

Ответы [ 4 ]

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

Хотя он не идеален, window.btoa() обеспечит базовую кодировку base-64, чтобы все не читали пользовательские данные.Это может быть вашим самым быстрым решением.Поскольку шифрование на стороне клиента не защищено, поскольку конечный пользователь может видеть все, что поступает в браузер (ваш код или вызов Ajax и т. Д.), Даже ваш ключ шифрования.

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

Вы можете использовать crypto.js для шифрования данных.См. this , если вы не знаете, как использовать его с Angular.

Затем вы помещаете зашифрованные данные в локальное хранилище.Смотрите этот учебник .

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

В одном нашем проекте мы использовали библиотеку crypto-js.http://github.com/brix/crypto-js

import * as CryptoJS from 'crypto-js';

encryptData(data) {

    try {
      return CryptoJS.AES.encrypt(JSON.stringify(data), this.encryptSecretKey).toString();
    } catch (e) {
      console.log(e);
    }
  }

  decryptData(data) {

    try {
      const bytes = CryptoJS.AES.decrypt(data, this.encryptSecretKey);
      if (bytes.toString()) {
        return JSON.parse(bytes.toString(CryptoJS.enc.Utf8));
      }
      return data;
    } catch (e) {
      console.log(e);
    }
  }
0 голосов
/ 26 ноября 2018

Шифрование на стороне клиента не имеет смысла, так как ключ будет либо храниться в коде Javascript, либо отправляться по сети.В обоих случаях невозможно запутать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...