-
Notifications
You must be signed in to change notification settings - Fork 164
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial commit and migration from Wolf9466
- Loading branch information
0 parents
commit d1eb05f
Showing
178 changed files
with
95,951 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
node-multi-hashing | ||
=============== | ||
|
||
[](https://travis-ci.org/zone117x/node-multi-hashing) | ||
|
||
[](https://nodei.co/npm/multi-hashing/) | ||
|
||
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 | ||
|
||
```bash | ||
npm install multi-hashing | ||
``` | ||
|
||
So far this native Node.js addon can do the following hashing algos | ||
|
||
```javascript | ||
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](http://www.nsa.gov/) and [NIST](http://www.nist.gov/) for creation or sponsoring creation of SHA2 and SHA3 algos | ||
* [Keccak](http://en.wikipedia.org/wiki/Keccak) - Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche | ||
* [Skein](http://en.wikipedia.org/wiki/Skein_(hash_function)) - Bruce Schneier, Stefan Lucks, Niels Ferguson, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas and Jesse Walker. | ||
* [BLAKE](http://en.wikipedia.org/wiki/BLAKE_(hash_function)) - Jean-Philippe Aumasson, Luca Henzen, Willi Meier, and Raphael C.-W. Phan | ||
* [Grøstl](http://en.wikipedia.org/wiki/Gr%C3%B8stl) - Praveen Gauravaram, Lars Knudsen, Krystian Matusiewicz, Florian Mendel, Christian Rechberger, Martin Schläffer, and Søren S. Thomsen | ||
* [JH](http://en.wikipedia.org/wiki/JH_(hash_function)) - Hongjun Wu | ||
* [Fugue](http://en.wikipedia.org/wiki/Fugue_(hash_function)) - Shai Halevi, William E. Hall, and Charanjit S. Jutla | ||
* [scrypt](http://en.wikipedia.org/wiki/Scrypt) - Colin Percival | ||
* [bcrypt](http://en.wikipedia.org/wiki/Bcrypt) - Niels Provos and David Mazières | ||
* [X11](http://www.darkcoin.io/), [Hefty1](http://heavycoin.github.io/about.html), [Quark](http://www.qrk.cc/) creators (they just mixed together a bunch of the above algos) |
Oops, something went wrong.