【发布时间】:2020-11-23 21:10:25
【问题描述】:
我正在尝试对我的 react-native 应用程序的 redux 存储进行持久化和加密。
我正在尝试按照文档使用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
)
但最重要的是找到一种安全的方式来存储“我的超级密钥”。 我已成功从用户输入中获取它并使用react-native-keychain 保存它。 现在的问题是从钥匙串中获取钥匙的功能是异步的,我需要在商店初始化之前获取钥匙。
结果应该是这样的
import { persistReducer } from 'redux-persist'
import createEncryptor from 'redux-persist-transform-encrypt'
const encryptionKey = // get the key here from the keychain before initiating the store
const encryptor = createEncryptor({
secretKey: encryptionKey
})
const reducer = persistReducer(
{
transforms: [encryptor]
},
baseReducer
)
有人对我有什么解决方法吗?
【问题讨论】:
标签: react-native security redux redux-persist