yog*_*ben 41 react-native asyncstorage
我想在React Native应用程序中本地存储敏感数据.
数据仅供编写它的应用程序使用吗?
von*_*vak 35
AsyncStorage不适合存储敏感信息.您可能会发现这很有用:https://github.com/oblador/react-native-keychain
它使用facebook conceal/android keystore将加密数据存储到SharedPreferencesiOS上的(Android)和keychain.(我与人共同撰写了lib).请务必阅读整篇自述文件,了解它提供的内容.
Dag*_*nqx 15
不,它不安全,因为它没有加密。我建议你使用 Expo 的 secureStore
如果您正在从 Expo 构建您的应用程序:
// in managed apps:
import { SecureStore } from 'expo';
Run Code Online (Sandbox Code Playgroud)
如果你正在构建一个裸应用
// in bare apps:
import * as SecureStore from 'expo-secure-store';
Run Code Online (Sandbox Code Playgroud)
在此处阅读更多信息:https : //docs.expo.io/versions/v32.0.0/sdk/securestore/
不,AsyncStorage对敏感数据不安全.AsyncStorage只是将数据保存到手机硬盘上的文档中,因此任何有权访问手机文件系统的人都可以读取该数据.当然,这对你来说是否有问题取决于你对"敏感数据"的意思.
至少在iOS上,由于Apple的沙盒策略,数据仅适用于编写它的应用程序.这并不能阻止对文件系统具有root访问权的越狱iPhone获取他们想要的任何内容,因为AsyncStorage不会加密任何数据.但一般情况下,不要将敏感数据保存到AsyncStorage,因为您不应该在javascript代码中对敏感数据进行硬编码,因为它可以很容易地反编译和读取.
小智 5
对于非常敏感的应用程序或用户数据,您可以尝试在iOS上使用https://github.com/oblador/react-native-keychain(使用iOS钥匙串)或https://github.com/classapp/react-native-适用于Android和iOS的sensitive-info(使用Android共享首选项和iOS钥匙串)。
它们都具有非常流畅的API和直接的链接方式,react-native link是一种更安全的数据保存方式,您可以避免窥探。
| 归档时间: |
|
| 查看次数: |
20545 次 |
| 最近记录: |