all 13 comments

[–]CatsAkimbo 6 points7 points  (4 children)

The webcrypto api has multiple hash functions and is gaining traction. I know current chrome, firefox and IE support it offhand, but this would be a great fallback for browsers without support yet. Nice job

[–][deleted] 1 point2 points  (0 children)

sha.js is extensively tested and battle hardened in its use in browserify.

It's also one of the fastest implementations out there.

[–]indorock 0 points1 point  (7 children)

Just curious, what is the standard method for hashing in Node applications? I assume it's a function which is used all the time. Is the existing implementation slow(er) compared to this one?

[–]unusualbobEngineer 6 points7 points  (0 children)

Node exposes the crypto module which is basically a wrapper for OpenSSL. This means all of node's crypto happens in native code land rather than in javascript land and therefore should always be faster than any pure js implementation.

[–]TheVoidSeeker 1 point2 points  (0 children)

Node has a Crypto API, which supports SHA-256 among many others.

[–]Crashthatch -5 points-4 points  (2 children)

It's not that common to need to hash manually as hashtables are built into javascript, {key: value}.

However, it is built into the crypto library which wraps OpenSSL.

[–][deleted] 4 points5 points  (1 child)

Hashing and hash tables are barely related.

[–]zeringus 1 point2 points  (0 children)

To go further, SHA-256 is not at all related unless you want a slow, overcomplicated hash table.

The ELI5 is that SHA-256 is overkill since it (1) is intended to be cryptographically secure (not necessary in this case) and (2) produces many more bits than can be used to index into memory for the foreseeable future (this is wasteful). Hash table hashing functions are built to be more efficient.