簡體   English   中英

如何在 React Native 項目中使用 Node.JS 的 Crypto 內置模塊?

[英]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 v13.0.1
  • NPM v6.12.0
  • 反應本機-cli v2.0.1
  • react-native v0.61.3
  • 反應 v16.9.0

為了解決這個錯誤,我查閱了Node.js文檔並嘗試了解決方案來了解Crypto內置模塊是否可用,但它拋出了同樣的錯誤。

也許我不清楚什么是內置模塊,是包含在 Node.js 安裝程序中的模塊,所以我沒有任何 NPM 安裝加密嗎?

如果是這樣,有沒有人知道為什么我不能在我的項目中使用它

我還嘗試了rn-nodeify modulereact-native-bcryptreact-native-crypto ,但在每種情況下都沒有到達一些包,比如streamVMfs等。

你遇到過同樣的問題並解決了嗎?

有人已經在這里回答了這個問題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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM