Javascript 如何在本机代码中存储敏感数据?
我看到一些问题询问“如何在React Native中存储敏感数据”(如和),但是,所有这些案例都是在谈论动态获取一些敏感数据(例如,从服务器获取),然后使用Javascript 如何在本机代码中存储敏感数据?,javascript,security,react-native,oauth,oauth-2.0,Javascript,Security,React Native,Oauth,Oauth 2.0,我看到一些问题询问“如何在React Native中存储敏感数据”(如和),但是,所有这些案例都是在谈论动态获取一些敏感数据(例如,从服务器获取),然后使用异步存储存储它。 但是,如果您需要在代码中写入敏感令牌/密码,该怎么办 例如,我想实现这个库: 正如您在第一个示例中看到的,我必须在代码中写入秘密令牌 所有react原生项目目录中是否都有一个文件,我可以在其中放置令牌,然后将其放入应用程序中? 在应用程序中操作这些安全令牌有多安全 谢谢 如何在本机代码中存储敏感数据 是的,有一种方法可以做到
异步存储存储它。
但是,如果您需要在代码中写入敏感令牌/密码,该怎么办
例如,我想实现这个库:
正如您在第一个示例中看到的,我必须在代码中写入秘密令牌
所有react原生项目目录中是否都有一个文件,我可以在其中放置令牌,然后将其放入应用程序中?
在应用程序中操作这些安全令牌有多安全
谢谢
如何在本机代码中存储敏感数据
是的,有一种方法可以做到这一点,您可以使用
对于iOS,它使用钥匙链共享功能
对于Android it,请使用:
- API等级16-22使用Facebook隐藏
- API级别23+使用Android密钥库
您可以这样使用它:
// Generic Password, service argument optional
Keychain
.setGenericPassword(username, password)
.then(function() {
console.log('Credentials saved successfully!');
});
// service argument optional
Keychain
.getGenericPassword()
.then(function(credentials) {
console.log('Credentials successfully loaded for user ' + credentials.username);
}).catch(function(error) {
console.log('Keychain couldn\'t be accessed! Maybe no value set?', error);
});
Asyncstorage是永久存储,所以即使有一个控件在离开应用程序后删除重要信息,我也不会将它们保存在那个里。因此,您可以使用临时存储值的mobx或redux来存储这些信息。@BurakKarasoy,但使用redux/mobx绝不会以任何特殊方式保护这些信息。此外,这些信息不会持久,您仍然面临设置这些值的挑战。看看这个问题:我的观点是,如果您使用redux/mobx保存数据,这些数据将存储在临时内存中,当您关闭应用程序时,这些数据将消失。但如果您以异步方式存储此数据,它将保存在本地文件中。您必须在关闭应用程序时删除此数据。第一条路似乎更安全。我不会在permament存储中写入pw或批评家数据。如果您想存储敏感数据,可以查看以下内容: