brainfucker / hashlib
- Source
- Commits
- Network (4)
- Issues (1)
- Downloads (1)
- Wiki (1)
- Graphs
-
Branch:
master
hashlib /
| name | age | message | |
|---|---|---|---|
| |
.lock-wscript | Thu Feb 18 06:34:25 -0800 2010 | |
| |
README.md | Thu Feb 18 08:20:56 -0800 2010 | |
| |
file.js | Fri Jan 22 04:34:52 -0800 2010 | |
| |
hashlib.cc | Thu Feb 18 06:34:25 -0800 2010 | |
| |
hmac_test.js | Thu Feb 18 06:34:25 -0800 2010 | |
| |
lib/ | Mon Feb 15 15:52:47 -0800 2010 | |
| |
libhash/ | Fri Jan 15 05:08:25 -0800 2010 | |
| |
makefile | Mon Feb 15 15:52:47 -0800 2010 | |
| |
md5.js | Wed Jan 20 09:17:13 -0800 2010 | |
| |
test.file | Wed Jan 20 09:17:13 -0800 2010 | |
| |
test.js | Thu Feb 18 06:34:25 -0800 2010 | |
| |
test.php | Fri Feb 12 06:08:19 -0800 2010 | |
| |
test.py | Thu Jan 14 06:25:45 -0800 2010 | |
| |
test/ | Thu Jan 14 06:25:45 -0800 2010 | |
| |
wscript | Fri Feb 12 06:08:19 -0800 2010 |
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 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

