[英]How can I use Crypto built-in module from Node.JS in React Native Project?
我正在做一个React Native project
,我需要使用加密密码实施身份验证。
我想使用library Bcrypt
但遇到问题。 Bcrypt
需要Crypto module
,这是一个第三方库,但现在它是Node.js
中的一个内置模块。
当我尝试将 Bcrypt 与const bcrypt = require('bcrypt')
一起使用时,它会引发错误:
无法从“node_modules/bcrypt/...”解析模块“crypto”
我在用:
为了解决这个错误,我查阅了Node.js
文档并尝试了解决方案来了解Crypto
内置模块是否可用,但它抛出了同样的错误。
也许我不清楚什么是内置模块,是包含在 Node.js 安装程序中的模块,所以我没有任何 NPM 安装加密吗?
如果是这样,有没有人知道为什么我不能在我的项目中使用它?
我还尝试了rn-nodeify module
, react-native-bcrypt
和react-native-crypto
,但在每种情况下都没有到达一些包,比如stream
, VM
, fs
等。
你遇到过同样的问题并解决了吗?
有人已经在这里回答了这个问题Bcrypt is not supported in Reactjs这是因为 bcrypt 是用 C++ 编写的。 但现在他们有了 bcryptjs,即 bcrypt 的 JS 版本。 你可以在这里下载它https://www.npmjs.com/package/bcryptjs 。 请注意,bcryptjs 比 C++ 版本 - bcrypt 慢,因为“它是用纯 JavaScript 编写的,因此速度较慢(大约 30%),有效减少了可以在相等时间跨度内处理的迭代次数。”
我会要求您查看rn-nodeify库。 它使您能够在 react-native 应用程序中使用核心模块和 npm 模块。
查看这个答案rn-nodeify 安装并从Step 2开始。
我希望我能帮助你。
https://github.com/margelo/react-native-quick-crypto我已经使用了这个库 endian.h 的修复是将它重命名为 <machine/endian.h>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.