Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在本机代码中存储敏感数据?_Javascript_Security_React Native_Oauth_Oauth 2.0 - Fatal编程技术网

Javascript 如何在本机代码中存储敏感数据?

Javascript 如何在本机代码中存储敏感数据?,javascript,security,react-native,oauth,oauth-2.0,Javascript,Security,React Native,Oauth,Oauth 2.0,我看到一些问题询问“如何在React Native中存储敏感数据”(如和),但是,所有这些案例都是在谈论动态获取一些敏感数据(例如,从服务器获取),然后使用异步存储存储它。 但是,如果您需要在代码中写入敏感令牌/密码,该怎么办 例如,我想实现这个库: 正如您在第一个示例中看到的,我必须在代码中写入秘密令牌 所有react原生项目目录中是否都有一个文件,我可以在其中放置令牌,然后将其放入应用程序中? 在应用程序中操作这些安全令牌有多安全 谢谢 如何在本机代码中存储敏感数据 是的,有一种方法可以做到

我看到一些问题询问“如何在React Native中存储敏感数据”(如和),但是,所有这些案例都是在谈论动态获取一些敏感数据(例如,从服务器获取),然后使用
异步存储
存储它。
但是,如果您需要在代码中写入敏感令牌/密码,该怎么办

例如,我想实现这个库: 正如您在第一个示例中看到的,我必须在代码中写入秘密令牌

所有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或批评家数据。如果您想存储敏感数据,可以查看以下内容: