For a few node projects of mine, I depend on hashing, predominantly MD5 and HMAC-SHA1 signing. Until recently, I depended on a library called hashlib for quickly generating my digests. Its got a very quick and simple syntax, and is written in C/C++.
var hashlib = require('hashlib');
hashlib.md5('something');
hashlib.hmac_sha1('something', 'key');
This worked really well for a while, until node 0.6 hit and there were some compatibility issues (on build the extension, and the occassional segfault). I turned away, and back to the crypto library, which is part of the standard library.
var crypto = require('crypto');
var md5er = crypto.createHash('md5');
md5er.update('something');
md5er.digest('hex');
var hmacer = crypto.createHmac('sha1', 'key');
hmacer.update('something');
hmacer.digest('hex');
The syntax, while longer, feels more flexible.
My true appreciation for hashlib, — if the issues are resolved I’ll definitely go back. For the time being, crypto is an easy replacement that’s stable in node 0.6+.