Skip to content

codebling/node-multi-hashing-windows

This branch is 17 commits ahead of, 116 commits behind PhearNet/node-multi-hashing:master.

Folders and files

NameName
Last commit message
Last commit date
Jan 8, 2018
Mar 30, 2014
Jun 27, 2014
Aug 13, 2017
Jan 8, 2018
Jan 8, 2018
Jan 8, 2018
Mar 30, 2014
Mar 30, 2014
Aug 13, 2017
Apr 19, 2014
Apr 19, 2014
Jun 3, 2014
Jun 3, 2014
Jan 8, 2018
May 14, 2014
Jul 7, 2014
Jul 7, 2014
Apr 19, 2014
Apr 19, 2014
Apr 21, 2014
Apr 21, 2014
May 12, 2014
Apr 19, 2014
Mar 30, 2014
Apr 19, 2014
Apr 19, 2014
Aug 13, 2017
Jun 14, 2014
Jun 14, 2014
Aug 13, 2017
Aug 13, 2017
Apr 19, 2014
Apr 19, 2014
May 12, 2014
Apr 19, 2014
Apr 28, 2014
Apr 19, 2014
Apr 25, 2014
Apr 25, 2014
Jan 8, 2018
Jun 14, 2014
Apr 19, 2014
May 12, 2014
Apr 19, 2014
Apr 21, 2014
Apr 19, 2014
Mar 30, 2014
Apr 19, 2014
Apr 19, 2014
May 29, 2014
May 29, 2014
Jun 27, 2014
Jun 27, 2014

Repository files navigation

node-multi-hashing

Travis build status Appveyor build status

NPM

Cryptocurrency hashing functions for node.js.

Algorithms

  • quark
  • x11
  • x13
  • nist5
  • scrypt
  • scryptn
  • scryptjane
  • keccak
  • bcrypt
  • skein
  • groestl
  • blake
  • fugue
  • qubit
  • hefty1
  • shavite3
  • cryptonight
  • boolberry

Usage

Install

npm install multi-hashing

So far this native Node.js addon can do the following hashing algos

var multiHashing = require('multi-hashing');

var algorithms = ['quark', 'x11', 'scrypt', 'scryptn', 'scryptjane', 'keccak', 'bcrypt', 'skein', 'blake'];

var data = new Buffer("7000000001e980924e4e1109230383e66d62945ff8e749903bea4336755c00000000000051928aff1b4d72416173a8c3948159a09a73ac3bb556aa6bfbcad1a85da7f4c1d13350531e24031b939b9e2b", "hex");

var hashedData = algorithms.map(function(algo){
    if (algo === 'scryptjane'){
        //scryptjane needs block.nTime and nChainStartTime (found in coin source)
        var yaCoinChainStartTime = 1367991200;
        var nTime = Math.round(Date.now() / 1000);
        return multiHashing[algo](data, nTime, yaCoinChainStartTime);
    }
    else{
        return multiHashing[algo](data);
    }
});


console.log(hashedData);
//<SlowBuffer 0b de 16 ef 2d 92 e4 35 65 c6 6c d8 92 d9 66 b4 3d 65 ..... >

Credits

  • NSA and NIST for creation or sponsoring creation of SHA2 and SHA3 algos
  • Keccak - Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche
  • Skein - Bruce Schneier, Stefan Lucks, Niels Ferguson, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas and Jesse Walker.
  • BLAKE - Jean-Philippe Aumasson, Luca Henzen, Willi Meier, and Raphael C.-W. Phan
  • Grøstl - Praveen Gauravaram, Lars Knudsen, Krystian Matusiewicz, Florian Mendel, Christian Rechberger, Martin Schläffer, and Søren S. Thomsen
  • JH - Hongjun Wu
  • Fugue - Shai Halevi, William E. Hall, and Charanjit S. Jutla
  • scrypt - Colin Percival
  • bcrypt - Niels Provos and David Mazières
  • X11, Hefty1, Quark creators (they just mixed together a bunch of the above algos)
  • PhearZero Michael J Feher

About

Forked to provide Windows compatibility. Works on Node 8+. **WARNING** this repo has no tests yet, use at your own risk! The Appveyor and Travis CI badges only test for a working build

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.8%
  • C++ 2.2%