我正在开发一款同时具有网络和移动应用程序的产品[android/ios]。它有点像一个通讯应用程序。我已经对字符串和文件实现了加密和解密,但不幸的是我使用了 crypto-js 我现在意识到 React Native 不支持它,因为它依赖于基于浏览器的 API。
我也尝试了expo-crypto,但是expo-crypto只支持加密,我们还需要解密。有没有像 crypto-js 这样的库可以同时用于网络和移动设备?如果不行的话还有其他办法吗?
我对加密非常陌生,所以不熟悉可用的内容。已经做了一些阅读,但尚未弄清楚在两者中产生相同结果的常见可靠方法是什么。
** 注意:目前我正在使用 expo 开发该应用程序,但计划将来退出。如果现在需要弹出我会的,但如果有一个适用于两者的解决方案那就更好了
我需要存储安全笔记,并提供一个功能,允许用户设置自己的安全密钥来加密他们的笔记,然后再以加密格式将其存储在数据库中。当用户想要再次查看自己的重要笔记时,必须将其解密并可读。
要加密和解密 React Native Expo 移动 Web 应用程序中的字符串,请按照以下步骤操作:
安装库:使用 crypto-js,它支持 Expo 管理的和 React Native Web 应用程序。
安装方式:npm install crypto-js。 加密:
使用密钥通过 AES 加密来加密文本。 示例:传递纯文本和密钥以创建加密字符串。 解密:
使用相同的密钥将加密的字符串解密回纯文本。 安全考虑:
使用强大、安全存储的密钥(例如 Expo SecureStore)。 确保您的应用程序通过 HTTPS 进行通信以防止数据拦截。 通过这些步骤,您可以安全地处理应用程序中的加密数据。