如何在 React native 中加密数据(使用 Expo)
How to Encrypt data in React native (Using Expo)
我正在尝试使用给定的密钥和 iV 简单地加密消息。我已经尝试了几个库来实现这一点,但 Expo 与其中任何一个都不兼容。我找不到 Expo 的任何加密库(支持 AES)。我想我的问题是:How do I encrypt data in React Native 运行 Expo
Ps : 我对 expo-crypto
不感兴趣
使用 crypto-js@3.1 , 3.1.x 版本使用 Math.random() 并且不需要节点 "crypto" 包。它不如最新版本安全,但对我有用。
yarn add crypto-js@3.1
我只用它来解密。如果您确实出于某些安全要求需要它,我建议您在服务器节点环境中对其进行加密。
我决定将 jshashes
用于我的 React-native 和 Expo 项目。该模块的目标是在不依赖节点的情况下以纯 javascript 重新实现哈希节点的加密函数:
yarn add jshashes
另一种可能性(我所做的)是使用 CryptoES 库。
https://www.npmjs.com/package/crypto-es
找了半天终于找到了,是CryptoJS库3.1版本的延续开发,可以和Expo一起使用
首先使用这个命令:
npm i crypto-es
那么现在您应该使用此命令导入它:
import CryptoES from "crypto-es";
那么你应该加密文本:
例如:
var mytexttoEncryption = "Hello"
const encrypted = CryptoES.AES.encrypt(mytexttoEncryption ,"your password").toString();
现在解密:
使用此命令安装 crypto-js 包:
npm i crypto-js
然后解密
var C = require("crypto-js");
var Decrypted = C.AES.decrypt(E, "your password");
var result =Decrypted.toString(C.enc.Utf8);
console.log(result)
所以用这个就可以了
npm i --save crypto-es crypto-js
import CryptoES from "crypto-es";
那么您应该对文本进行加密,例如:
var mytexttoEncryption = "Hello"
const encrypted = CryptoES.AES.encrypt(mytexttoEncryption ,"your password").toString();
var C = require("crypto-js");
var Decrypted = C.AES.decrypt(E, "your password");
var result =Decrypted.toString(C.enc.Utf8);
console.log(result)
我正在尝试使用给定的密钥和 iV 简单地加密消息。我已经尝试了几个库来实现这一点,但 Expo 与其中任何一个都不兼容。我找不到 Expo 的任何加密库(支持 AES)。我想我的问题是:How do I encrypt data in React Native 运行 Expo
Ps : 我对 expo-crypto
不感兴趣使用 crypto-js@3.1 , 3.1.x 版本使用 Math.random() 并且不需要节点 "crypto" 包。它不如最新版本安全,但对我有用。
yarn add crypto-js@3.1
我只用它来解密。如果您确实出于某些安全要求需要它,我建议您在服务器节点环境中对其进行加密。
我决定将 jshashes
用于我的 React-native 和 Expo 项目。该模块的目标是在不依赖节点的情况下以纯 javascript 重新实现哈希节点的加密函数:
yarn add jshashes
另一种可能性(我所做的)是使用 CryptoES 库。
https://www.npmjs.com/package/crypto-es
找了半天终于找到了,是CryptoJS库3.1版本的延续开发,可以和Expo一起使用
首先使用这个命令:
npm i crypto-es
那么现在您应该使用此命令导入它:
import CryptoES from "crypto-es";
那么你应该加密文本: 例如:
var mytexttoEncryption = "Hello"
const encrypted = CryptoES.AES.encrypt(mytexttoEncryption ,"your password").toString();
现在解密: 使用此命令安装 crypto-js 包:
npm i crypto-js
然后解密
var C = require("crypto-js");
var Decrypted = C.AES.decrypt(E, "your password");
var result =Decrypted.toString(C.enc.Utf8);
console.log(result)
所以用这个就可以了
npm i --save crypto-es crypto-js
import CryptoES from "crypto-es";
那么您应该对文本进行加密,例如:
var mytexttoEncryption = "Hello"
const encrypted = CryptoES.AES.encrypt(mytexttoEncryption ,"your password").toString();
var C = require("crypto-js");
var Decrypted = C.AES.decrypt(E, "your password");
var result =Decrypted.toString(C.enc.Utf8);
console.log(result)