Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
lib for node which makes hashes
C JavaScript C++ Other
Branch: master
Failed to load latest commit information.
debian Prepared changelog for build 3
lib scope.Close added
libhash move to freeBSD md5 lib, add md4, sha
test Adding sha1, sha256, sha512 and md6 hashes
.gitignore added gitignore
README.md Update README.md
hashlib.cc merge
makefile update for 6.0
package.json fix can't run on node v0.6.x
test.file add async callback to md5_file function
test.js
test.php package fix
test.py Adding sha1, sha256, sha512 and md6 hashes
wscript fix can't run on node v0.6.x

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/default/hashlib.node

You should use var hashlib = require("./build/default/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 string
md5(str); // Returns md5 hash from string
sha(str); // Returns sha hash from string
sha1(str); // Returns sha1 hash from string
sha256(str); // Returns sha256 hash from string
sha512(str); // Returns sha512 hash from string
md6(str[, length]); // Returns md6 hash from string, 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

Something went wrong with that request. Please try again.