Может кто-нибудь помочь мне, как использовать локальное хранилище ngrx для шифрования и расшифровки данных - PullRequest
0 голосов
/ 13 января 2020

как использовать локальное хранилище ngrx для шифрования и дешифрования моих данных в хранилище

export function localStorageSyncReducer(reducer: ActionReducer<any>): ActionReducer<any> {
     return localStorageSync({ keys: ['product']}, rehydate:true)(reducer);
}

export const metaReducers: Array<MetaReducer<any, any>> = [localStorageSyncReducer];


1 Ответ

0 голосов
/ 21 февраля 2020

Ниже приведен синтаксис для добавления шифрования и дешифрования непосредственно в функцию экспорта ...

export function localStorageSyncReducer(reducer: ActionReducer<any>): ActionReducer<any> {
  return localStorageSync({
    keys: [{'product': {
      encrypt: state => ****ENTER YOUR ENCRYPTION FUNCTION HERE****,
      decrypt: state => ****ENTER YOUR DECRYPTION FUNCTION HERE****
    }}],
    rehydrate: true
  })(reducer);
}

И вот как это выглядело бы, если бы мы использовали правило шифрования / дешифрования base64. .

export function localStorageSyncReducer(reducer: ActionReducer<any>): ActionReducer<any> {
  return localStorageSync({
    keys: [{'product': {
      encrypt: state => btoa(state),
      decrypt: state => atob(state)
    }}]
  })(reducer);
}

btoa (состояние) и atob (состояние) находятся во встроенных JavaScript функциях. (Поправьте меня, если я ошибаюсь).

Если вы хотите разработать свои собственные правила шифрования / дешифрования, то замените btoa (состояние) и / или atob (состояние ) к вашим собственным функциям.

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

Примечание: кто-то создал запрос pull для размещения документации для encrpyt / decrypt для ngrx-store-localstorage, но он не был принят автором более 3 месяцев.

Вот ссылка, если вы хотите прочитать запрос pull ... https://github.com/btroncone/ngrx-store-localstorage/pull/137

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

Приятного дня. :)

...