sCrypt implementation in JavaScript? [closed]

2020-07-06 03:18发布

问题:

Someone asked about a JavaScript implementation of bCrypt a while back and appears to have written their own code to handle the implementation. Does anyone have an implementation of sCrypt in JavaScript?

回答1:

The answer linked above points to a project that no longer exists.

This project, however, is still around: https://github.com/tonyg/js-scrypt



回答2:

If you are talking about tenebrix, the choice of scrypt was better then bcrypt for the goals set. I so far have only found one incomplete javascript implementation of scrypt and hit on this page while searching.

https://github.com/byrongibson/scrypt-js https://github.com/cheongwy/node-scrypt-js was all I found so far, and seems no code yet.

Guess as a new reason I can't just comment on this above like I wanted, sigh.



回答3:

https://github.com/tonyg/js-scrypt is an emscripten-compiled version of Colin Percival's scrypt() function.



回答4:

Here are the two I can find:

  • https://github.com/barrysteyn/node-scrypt
  • https://github.com/cheongwy/node-scrypt-js

I've tried only barrysteyn's node-scrypt, and its excellent. He recently put a lot of effort into making the library conform to javascript conventions, and the API is great.



回答5:

Tony's works great in chrome, chrome's js executes cost of 16384 faster than CryptSharp's SCrypt does. Around 200ms for chrome and 450ms for CryptSharp.

Trouble is that IE takes upwards of 24 seconds and FF upwards of 16 seconds.

Unfortunately, not all browsers are created equal..



回答6:

I'll toss my implementation into the ring: https://github.com/cryptocoinjs/scryptsy. It is based upon https://github.com/cheongwy/node-scrypt-js, but has been cleaned up and tested in both Node.js and the browser.



回答7:

Here are two options:

  • https://github.com/ricmoo/scrypt-js
  • https://github.com/dchest/scrypt-async-js

They're pretty comparable.