lib for node which makes hashes
C C++ JavaScript Other
Switch branches/tags
Nothing to show
Pull request Compare This branch is 2 commits ahead, 8 commits behind brainfucker:master.
Latest commit 54a9ac2 Nov 9, 2011 @ovaillancourt ovaillancourt - Tweak to package.json to correctly replace the default path to Rele…
…ase and changed the node version.
Permalink
Failed to load latest commit information.
debian Prepared changelog for build 3 Nov 1, 2010
lib scope.Close added Jul 20, 2010
libhash move to freeBSD md5 lib, add md4, sha Jan 15, 2010
test Adding sha1, sha256, sha512 and md6 hashes Jan 14, 2010
.gitignore added gitignore Jul 20, 2010
README.md [hashlib.cc] - Including node.h instead of ev.h and eio.h. node.h inc… Nov 9, 2011
hashlib.cc
makefile [hashlib.cc] - Including node.h instead of ev.h and eio.h. node.h inc… Nov 9, 2011
package.json
test.file add async callback to md5_file function Jan 20, 2010
test.js [hashlib.cc] - Including node.h instead of ev.h and eio.h. node.h inc… Nov 9, 2011
test.php package fix Mar 8, 2011
test.py Adding sha1, sha256, sha512 and md6 hashes Jan 14, 2010
wscript [PATCH] hack to compile on smartos (Ryan Dahl) May 21, 2011

README.md

Hashlib

Is a FAST nodejs(http://github.com/ry/node/) library for making hashes written in C/C++

Supports: md4, md5, md6, sha, sha1, sha256, sha512, hmac_sha1, hmac_md5, also can make md5 hash of files

Thangs to Vanilla Hsu for speed improvements and md4, sha support

Install:

way 1

  1. go to the directory with hashlib library

  2. execute node-waf configure build

  3. get module from ./build/Release/hashlib.node

You should use var hashlib = require("./build/Release/hashlib"); (way to module)

way 2 (works if node are installed in default path)

  1. go to the directory with hashlib library

  2. execute make

  3. execute sudo make install

You should use var hashlib = require("hashlib"); (from any path)

Functions:

md4(str); // Returns md4 hash from sting
md5(str); // Returns md5 hash from sting
sha(str); // Returns sha hash from sting
sha1(str); // Returns sha1 hash from sting
sha256(str); // Returns sha256 hash from sting
sha512(str); // Returns sha512 hash from sting
md6(str[, length]); // Returns md6 hash from sting, second parametr is optional
md5_file(path[, callback]); // Returns md5 hash from file callback is optional and works async
hmac_sha1(str, key) // Returns hmac sha1 hash with an key
hmac_md5(str, key) // Returns hmac md5 hash with an key

Usage:

var hashlib = require('hashlib');
hashlib.md5('text');

Speed testing

To run speed test on your computer run test.js, here is my: C++ md5 result is: 220 JS md5 result is: 5660 C++ module faster than JS in 25.727272727272727 times ----------- C++ md4 result is: 212 C++ md6 result is: 3889 C++ sha0 result is: 228 C++ sha1 result is: 495 C++ sha256 result is: 712 C++ sha512 result is: 612

// Smaller is better

Other modules, engines md5 comparsion: hashlib: 220 node-crypto: 1055 python-hashlib: 265 php: 179

// Smaller is better