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
проблема безопасности преодолена.