При рассмотрении зависимостей, запускаемых только в Node.js, нет причин не следовать советам, данным вам при выборе самой быстрой реализации, которая в этом случае демонстрирует собственную привязку bcrypt
.
Для изоморфного JavaScript , когда вы ожидаете, что он также будет запущен в браузере, вы не можете использовать нативные привязки.Таким образом, в этом случае brcyptjs
является самой быстрой реализацией, доступной в чистом JavaScript.
Ваша альтернатива для использования bcrypt
в изоморфной настройке будет состоять в том, чтобы скомпилировать вашу собственную привязку в WebAssembly если это вообще возможно.Некоторые собственные привязки в настоящее время не могут быть скомпилированы в WebAssembly, но этот пакет , по-видимому, имеет по крайней мере подмножество bcrypt, реализованное в wasm, хотя я не могу проверить его производительность или безопасность по сравнению с вашими текущими двумя вариантами.
Недостатком использования WebAssembly является значительно большее время разработки, особенно если вы не знакомы с API, и это трудно оправдать, когда bcryptjs
уже является заменой в рамках того же уровня производительности.