如何在本机中加密和解密文本?

Sar*_*mar 11 react-native react-native-android react-native-ios

我需要在AsyncStorage中存储安全信息,

所以请任何人解释如何加密和解密文本in react native

vin*_*ayr 23

您可以使用crypto-js库https://github.com/brix/crypto-js.在React Native应用程序中正常工作.

npm install crypto-js --save
Run Code Online (Sandbox Code Playgroud)
var CryptoJS = require("crypto-js");

var ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123');
console.log("encrypted text", ciphertext.toString());

var bytes  = CryptoJS.AES.decrypt(ciphertext.toString(), 'secret key 123');
var plaintext = bytes.toString(CryptoJS.enc.Utf8);
console.log("decrypted text", plaintext);
Run Code Online (Sandbox Code Playgroud)

  • (截至 2023 年 3 月!)如果您从 React-Native 使用此功能,请注意最新版本将抛出错误,“**本机加密模块无法用于获取安全随机数。**”为此,您必须强制降级,如 [2020 年以来 crypto-js 未解决的问题](https://github.com/brix/crypto-js/issues/256) 中所述。 (2认同)