Mobx持久加密

时间:2018-11-07 12:51:06

标签: react-native encryption realm mobx mobx-persist

我正在使用mobx-persist库来保留数据,并且由于要处理敏感数据,因此需要实现加密。我知道AsyncStorage不支持加密,所以我的想法是使用Realm作为存储。

我是初学者,找不到任何可以帮助我的东西。

有没有人尝试过或者有任何示例该怎么做?

1 个答案:

答案 0 :(得分:0)

是的。您可以创建新的类secureStorage,实现功能(getItem,setItem,removeItem)并传递它(而不是异步存储)

我正在使用react-native-sensitive-info,您可以使用任何您想要的

import SInfo from 'react-native-sensitive-info';

export const setItem = (key: string, value: string) => {
  return new Promise(async (resolve, reject) => {
    try {
      await SInfo.setItem(key, value, options);
      resolve(null);
    } catch (e) {
      reject(e);
    }
  });
};

export const getItem = (key: string) => {
  return new Promise(async (resolve, reject) => {
    try {
      const result = await SInfo.getItem(key, options);
      resolve(result);
    } catch (e) {
      reject(e);
    }
  });
};

export function removeItem(key: string) {
  return new Promise(async (resolve, reject) => {
    try {
      await SInfo.deleteItem(key, options);
      resolve(null);
    } catch (err) {
      reject(err);
    }
  });
}

import * as SecureStorage from 'your-secure-storage';

const hydrate = create({
  storage: SecureStorage,
  jsonify: true,
});

只需将SInfo替换为领域