[英]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.