This is an asm.js implementation of BusyBeaver - a password hashing, key derivation, and proof of work function intended to improve upon PBKDF2, bcrypt and scrypt in its resistance to brute forcing on hardware that isn't a 64-bit, general purpose CPU.
This page will load fast in Firefox, slowly in IE, and very slowly in Chrome. In Chrome, try BusyBeaver in Google Native Client.
I wrote about my experience with asm.js vs. Google Native Client in this post.
Consider that a single BusyBeaver digest with 50,000 iterations takes:
... whereas on the same computer, this JavaScript executes in 500 ms in Firefox, with optimized asm.js.
The compiled size of BusyBeaver is:
... whereas this JavaScript is 700 kB.
Look at the source code of BusyBeaver.js. Is it that much better than binary? Is it more compatible? Safer?
Why not implement PNaCl?
denis bider
Calculating initial digest...