Skip to content

ovaillancourt/hashlib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hashlib

Is a FAST nodejs(https://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

About

lib for node which makes hashes

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 87.8%
  • C++ 6.8%
  • JavaScript 5.2%
  • Other 0.2%