Redux-Persist Secure Encryption

Я пытаюсь узнать, как безопасно сохранить свое избыточное состояние в моем приложении-реактиве.

я использую redux-persist-transform-encrypt согласно документации: https://github.com/maxdeviant/redux-persist-transform-encrypt

import { persistReducer } from 'redux-persist'
import createEncryptor from 'redux-persist-transform-encrypt'

const encryptor = createEncryptor({
  secretKey: 'my-super-secret-key'
})

const reducer = persistReducer(
  {
    transforms: [encryptor]
  },
  baseReducer
)

но я не знаю, как безопасно установить secretKey строка 'my-super-secret-key'?

когда js компилируется, не будет ли значение строки видно в комплекте?

1 ответ

Да, ключи будут видны в JS bundle. Чтобы преодолеть эту проблему, вам нужно либо установить nested persisted states, в redux-persist и хранить ключи к secured-db или же keystore каким-либо образом или используйте этот пакет, как указано здесь.

const mainPersistConfig = {
  key: "main",
  storage: AsyncStorage,
  blacklist: ["yourKeyReducer"]
};

const tokenPersistConfig = {
  key: "token",
  storage: sensitiveStorage
};

Так как это обеспечивает creation of the sensitive storage проблема безопасности преодолена.

Другие вопросы по тегам