Redux-Persist安全加密
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redux-Persist安全加密相关的知识,希望对你有一定的参考价值。
我正在尝试学习如何在我的react-native应用程序中安全地保存我的redux状态。
我按照文档使用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时,字符串的值不会在bundle中可见吗?
答案
是的,密钥将在JS bundle
中可见。要解决此问题,您需要在nested persisted states
中设置redux-persist
并以某种方式将密钥存储到secured-db
或keystore
或使用此包提及here。
const mainPersistConfig = {
key: "main",
storage: AsyncStorage,
blacklist: ["yourKeyReducer"]
};
const tokenPersistConfig = {
key: "token",
storage: sensitiveStorage
};
由于它提供了creation of the sensitive storage
,因此克服了安全问题。
以上是关于Redux-Persist安全加密的主要内容,如果未能解决你的问题,请参考以下文章
如何防止 redux-persist 在用户允许之前使用 LocalStorage?