first commit
This commit is contained in:
72
build/node_modules/ripemd160/CHANGELOG.md
generated
vendored
Normal file
72
build/node_modules/ripemd160/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
2.0.1 / 2016-06-22
|
||||
------------------
|
||||
- added LICENSE file.
|
||||
|
||||
2.0.0 / 2016-04-11
|
||||
------------------
|
||||
- rewritten, license change BSD-3 to MIT. [#13][#13]
|
||||
- stream support [#13][#13]
|
||||
|
||||
1.0.1 / 2015-05-05
|
||||
------------------
|
||||
- standard formatting
|
||||
|
||||
1.0.0 / 2015-01-14
|
||||
------------------
|
||||
- updated dev deps
|
||||
- added more test fixtures
|
||||
- updated readme with usage, testing, etc
|
||||
- moved from https://github.com/cryptocoinjs/ripemd160 to https://github.com/crypto-browserify/ripemd160
|
||||
|
||||
0.2.1 / 2014-12-31
|
||||
------------------
|
||||
- made license clear in `package.json`
|
||||
- deleted `Makefile`, moved targets to `package.json`
|
||||
- removed `terst` for `assert`
|
||||
|
||||
0.2.0 / 2014-03-09
|
||||
------------------
|
||||
* removed bower.json and component.json
|
||||
* changed 4 spacing to 2
|
||||
* returns `Buffer` type now, input must be Array, Uint8Array, Buffer, or string
|
||||
* remove deps: `convert-hex` and `convert-string`
|
||||
|
||||
0.1.0 / 2013-11-20
|
||||
------------------
|
||||
* changed package name
|
||||
* removed AMD support
|
||||
|
||||
0.0.2 / 2013-11-06
|
||||
------------------
|
||||
* fixed component.json file
|
||||
|
||||
0.0.1 / 2013-11-03
|
||||
------------------
|
||||
* initial release
|
||||
|
||||
<!--- add streams support, unroll loops [enhancement] -->
|
||||
[#13]: https://github.com/crypto-browserify/ripemd160/pull/13
|
||||
<!--- Update all dependencies 🌴 [greenkeeper] -->
|
||||
[#12]: https://github.com/crypto-browserify/ripemd160/pull/12
|
||||
<!--- little optimizations [enhancement] -->
|
||||
[#11]: https://github.com/crypto-browserify/ripemd160/pull/11
|
||||
<!--- Added LICENSE file to repo -->
|
||||
[#10]: https://github.com/crypto-browserify/ripemd160/pull/10
|
||||
<!--- Add LICENCE file -->
|
||||
[#9]: https://github.com/crypto-browserify/ripemd160/pull/9
|
||||
<!--- Support streaming [enhancement] -->
|
||||
[#8]: https://github.com/crypto-browserify/ripemd160/issues/8
|
||||
<!--- Unroll loops [enhancement] -->
|
||||
[#7]: https://github.com/crypto-browserify/ripemd160/pull/7
|
||||
<!--- Use SPDX-standard license naming -->
|
||||
[#6]: https://github.com/crypto-browserify/ripemd160/pull/6
|
||||
<!--- License -->
|
||||
[#5]: https://github.com/crypto-browserify/ripemd160/issues/5
|
||||
<!--- Add BSD license to package.json -->
|
||||
[#4]: https://github.com/crypto-browserify/ripemd160/pull/4
|
||||
<!--- Indicate byte array inputs are supported too -->
|
||||
[#3]: https://github.com/crypto-browserify/ripemd160/pull/3
|
||||
<!--- Node-specific implementation -->
|
||||
[#2]: https://github.com/crypto-browserify/ripemd160/pull/2
|
||||
<!--- Incorrect name of convert-string dependency in bower.json -->
|
||||
[#1]: https://github.com/crypto-browserify/ripemd160/pull/1
|
||||
21
build/node_modules/ripemd160/LICENSE.md
generated
vendored
Normal file
21
build/node_modules/ripemd160/LICENSE.md
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 crypto-browserify
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
27
build/node_modules/ripemd160/README.md
generated
vendored
Normal file
27
build/node_modules/ripemd160/README.md
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
# ripemd160
|
||||
|
||||
[](https://www.npmjs.org/package/ripemd160)
|
||||
[](https://travis-ci.org/crypto-browserify/ripemd160)
|
||||
[](https://david-dm.org/crypto-browserify/ripemd160#info=dependencies)
|
||||
|
||||
[](https://github.com/feross/standard)
|
||||
|
||||
Node style `ripemd160` on pure JavaScript.
|
||||
|
||||
## Example
|
||||
|
||||
```js
|
||||
var RIPEMD160 = require('ripemd160')
|
||||
|
||||
console.log(new RIPEMD160().update('42').digest('hex'))
|
||||
// => 0df020ba32aa9b8b904471ff582ce6b579bf8bc8
|
||||
|
||||
var ripemd160stream = new RIPEMD160()
|
||||
ripemd160stream.end('42')
|
||||
console.log(ripemd160stream.read().toString('hex'))
|
||||
// => 0df020ba32aa9b8b904471ff582ce6b579bf8bc8
|
||||
```
|
||||
|
||||
## LICENSE
|
||||
|
||||
MIT
|
||||
291
build/node_modules/ripemd160/index.js
generated
vendored
Normal file
291
build/node_modules/ripemd160/index.js
generated
vendored
Normal file
@@ -0,0 +1,291 @@
|
||||
'use strict'
|
||||
var inherits = require('inherits')
|
||||
var HashBase = require('hash-base')
|
||||
|
||||
function RIPEMD160 () {
|
||||
HashBase.call(this, 64)
|
||||
|
||||
// state
|
||||
this._a = 0x67452301
|
||||
this._b = 0xefcdab89
|
||||
this._c = 0x98badcfe
|
||||
this._d = 0x10325476
|
||||
this._e = 0xc3d2e1f0
|
||||
}
|
||||
|
||||
inherits(RIPEMD160, HashBase)
|
||||
|
||||
RIPEMD160.prototype._update = function () {
|
||||
var m = new Array(16)
|
||||
for (var i = 0; i < 16; ++i) m[i] = this._block.readInt32LE(i * 4)
|
||||
|
||||
var al = this._a
|
||||
var bl = this._b
|
||||
var cl = this._c
|
||||
var dl = this._d
|
||||
var el = this._e
|
||||
|
||||
// Mj = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
|
||||
// K = 0x00000000
|
||||
// Sj = 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8
|
||||
al = fn1(al, bl, cl, dl, el, m[0], 0x00000000, 11); cl = rotl(cl, 10)
|
||||
el = fn1(el, al, bl, cl, dl, m[1], 0x00000000, 14); bl = rotl(bl, 10)
|
||||
dl = fn1(dl, el, al, bl, cl, m[2], 0x00000000, 15); al = rotl(al, 10)
|
||||
cl = fn1(cl, dl, el, al, bl, m[3], 0x00000000, 12); el = rotl(el, 10)
|
||||
bl = fn1(bl, cl, dl, el, al, m[4], 0x00000000, 5); dl = rotl(dl, 10)
|
||||
al = fn1(al, bl, cl, dl, el, m[5], 0x00000000, 8); cl = rotl(cl, 10)
|
||||
el = fn1(el, al, bl, cl, dl, m[6], 0x00000000, 7); bl = rotl(bl, 10)
|
||||
dl = fn1(dl, el, al, bl, cl, m[7], 0x00000000, 9); al = rotl(al, 10)
|
||||
cl = fn1(cl, dl, el, al, bl, m[8], 0x00000000, 11); el = rotl(el, 10)
|
||||
bl = fn1(bl, cl, dl, el, al, m[9], 0x00000000, 13); dl = rotl(dl, 10)
|
||||
al = fn1(al, bl, cl, dl, el, m[10], 0x00000000, 14); cl = rotl(cl, 10)
|
||||
el = fn1(el, al, bl, cl, dl, m[11], 0x00000000, 15); bl = rotl(bl, 10)
|
||||
dl = fn1(dl, el, al, bl, cl, m[12], 0x00000000, 6); al = rotl(al, 10)
|
||||
cl = fn1(cl, dl, el, al, bl, m[13], 0x00000000, 7); el = rotl(el, 10)
|
||||
bl = fn1(bl, cl, dl, el, al, m[14], 0x00000000, 9); dl = rotl(dl, 10)
|
||||
al = fn1(al, bl, cl, dl, el, m[15], 0x00000000, 8); cl = rotl(cl, 10)
|
||||
|
||||
// Mj = 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8
|
||||
// K = 0x5a827999
|
||||
// Sj = 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12
|
||||
el = fn2(el, al, bl, cl, dl, m[7], 0x5a827999, 7); bl = rotl(bl, 10)
|
||||
dl = fn2(dl, el, al, bl, cl, m[4], 0x5a827999, 6); al = rotl(al, 10)
|
||||
cl = fn2(cl, dl, el, al, bl, m[13], 0x5a827999, 8); el = rotl(el, 10)
|
||||
bl = fn2(bl, cl, dl, el, al, m[1], 0x5a827999, 13); dl = rotl(dl, 10)
|
||||
al = fn2(al, bl, cl, dl, el, m[10], 0x5a827999, 11); cl = rotl(cl, 10)
|
||||
el = fn2(el, al, bl, cl, dl, m[6], 0x5a827999, 9); bl = rotl(bl, 10)
|
||||
dl = fn2(dl, el, al, bl, cl, m[15], 0x5a827999, 7); al = rotl(al, 10)
|
||||
cl = fn2(cl, dl, el, al, bl, m[3], 0x5a827999, 15); el = rotl(el, 10)
|
||||
bl = fn2(bl, cl, dl, el, al, m[12], 0x5a827999, 7); dl = rotl(dl, 10)
|
||||
al = fn2(al, bl, cl, dl, el, m[0], 0x5a827999, 12); cl = rotl(cl, 10)
|
||||
el = fn2(el, al, bl, cl, dl, m[9], 0x5a827999, 15); bl = rotl(bl, 10)
|
||||
dl = fn2(dl, el, al, bl, cl, m[5], 0x5a827999, 9); al = rotl(al, 10)
|
||||
cl = fn2(cl, dl, el, al, bl, m[2], 0x5a827999, 11); el = rotl(el, 10)
|
||||
bl = fn2(bl, cl, dl, el, al, m[14], 0x5a827999, 7); dl = rotl(dl, 10)
|
||||
al = fn2(al, bl, cl, dl, el, m[11], 0x5a827999, 13); cl = rotl(cl, 10)
|
||||
el = fn2(el, al, bl, cl, dl, m[8], 0x5a827999, 12); bl = rotl(bl, 10)
|
||||
|
||||
// Mj = 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12
|
||||
// K = 0x6ed9eba1
|
||||
// Sj = 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5
|
||||
dl = fn3(dl, el, al, bl, cl, m[3], 0x6ed9eba1, 11); al = rotl(al, 10)
|
||||
cl = fn3(cl, dl, el, al, bl, m[10], 0x6ed9eba1, 13); el = rotl(el, 10)
|
||||
bl = fn3(bl, cl, dl, el, al, m[14], 0x6ed9eba1, 6); dl = rotl(dl, 10)
|
||||
al = fn3(al, bl, cl, dl, el, m[4], 0x6ed9eba1, 7); cl = rotl(cl, 10)
|
||||
el = fn3(el, al, bl, cl, dl, m[9], 0x6ed9eba1, 14); bl = rotl(bl, 10)
|
||||
dl = fn3(dl, el, al, bl, cl, m[15], 0x6ed9eba1, 9); al = rotl(al, 10)
|
||||
cl = fn3(cl, dl, el, al, bl, m[8], 0x6ed9eba1, 13); el = rotl(el, 10)
|
||||
bl = fn3(bl, cl, dl, el, al, m[1], 0x6ed9eba1, 15); dl = rotl(dl, 10)
|
||||
al = fn3(al, bl, cl, dl, el, m[2], 0x6ed9eba1, 14); cl = rotl(cl, 10)
|
||||
el = fn3(el, al, bl, cl, dl, m[7], 0x6ed9eba1, 8); bl = rotl(bl, 10)
|
||||
dl = fn3(dl, el, al, bl, cl, m[0], 0x6ed9eba1, 13); al = rotl(al, 10)
|
||||
cl = fn3(cl, dl, el, al, bl, m[6], 0x6ed9eba1, 6); el = rotl(el, 10)
|
||||
bl = fn3(bl, cl, dl, el, al, m[13], 0x6ed9eba1, 5); dl = rotl(dl, 10)
|
||||
al = fn3(al, bl, cl, dl, el, m[11], 0x6ed9eba1, 12); cl = rotl(cl, 10)
|
||||
el = fn3(el, al, bl, cl, dl, m[5], 0x6ed9eba1, 7); bl = rotl(bl, 10)
|
||||
dl = fn3(dl, el, al, bl, cl, m[12], 0x6ed9eba1, 5); al = rotl(al, 10)
|
||||
|
||||
// Mj = 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2
|
||||
// K = 0x8f1bbcdc
|
||||
// Sj = 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12
|
||||
cl = fn4(cl, dl, el, al, bl, m[1], 0x8f1bbcdc, 11); el = rotl(el, 10)
|
||||
bl = fn4(bl, cl, dl, el, al, m[9], 0x8f1bbcdc, 12); dl = rotl(dl, 10)
|
||||
al = fn4(al, bl, cl, dl, el, m[11], 0x8f1bbcdc, 14); cl = rotl(cl, 10)
|
||||
el = fn4(el, al, bl, cl, dl, m[10], 0x8f1bbcdc, 15); bl = rotl(bl, 10)
|
||||
dl = fn4(dl, el, al, bl, cl, m[0], 0x8f1bbcdc, 14); al = rotl(al, 10)
|
||||
cl = fn4(cl, dl, el, al, bl, m[8], 0x8f1bbcdc, 15); el = rotl(el, 10)
|
||||
bl = fn4(bl, cl, dl, el, al, m[12], 0x8f1bbcdc, 9); dl = rotl(dl, 10)
|
||||
al = fn4(al, bl, cl, dl, el, m[4], 0x8f1bbcdc, 8); cl = rotl(cl, 10)
|
||||
el = fn4(el, al, bl, cl, dl, m[13], 0x8f1bbcdc, 9); bl = rotl(bl, 10)
|
||||
dl = fn4(dl, el, al, bl, cl, m[3], 0x8f1bbcdc, 14); al = rotl(al, 10)
|
||||
cl = fn4(cl, dl, el, al, bl, m[7], 0x8f1bbcdc, 5); el = rotl(el, 10)
|
||||
bl = fn4(bl, cl, dl, el, al, m[15], 0x8f1bbcdc, 6); dl = rotl(dl, 10)
|
||||
al = fn4(al, bl, cl, dl, el, m[14], 0x8f1bbcdc, 8); cl = rotl(cl, 10)
|
||||
el = fn4(el, al, bl, cl, dl, m[5], 0x8f1bbcdc, 6); bl = rotl(bl, 10)
|
||||
dl = fn4(dl, el, al, bl, cl, m[6], 0x8f1bbcdc, 5); al = rotl(al, 10)
|
||||
cl = fn4(cl, dl, el, al, bl, m[2], 0x8f1bbcdc, 12); el = rotl(el, 10)
|
||||
|
||||
// Mj = 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
|
||||
// K = 0xa953fd4e
|
||||
// Sj = 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
|
||||
bl = fn5(bl, cl, dl, el, al, m[4], 0xa953fd4e, 9); dl = rotl(dl, 10)
|
||||
al = fn5(al, bl, cl, dl, el, m[0], 0xa953fd4e, 15); cl = rotl(cl, 10)
|
||||
el = fn5(el, al, bl, cl, dl, m[5], 0xa953fd4e, 5); bl = rotl(bl, 10)
|
||||
dl = fn5(dl, el, al, bl, cl, m[9], 0xa953fd4e, 11); al = rotl(al, 10)
|
||||
cl = fn5(cl, dl, el, al, bl, m[7], 0xa953fd4e, 6); el = rotl(el, 10)
|
||||
bl = fn5(bl, cl, dl, el, al, m[12], 0xa953fd4e, 8); dl = rotl(dl, 10)
|
||||
al = fn5(al, bl, cl, dl, el, m[2], 0xa953fd4e, 13); cl = rotl(cl, 10)
|
||||
el = fn5(el, al, bl, cl, dl, m[10], 0xa953fd4e, 12); bl = rotl(bl, 10)
|
||||
dl = fn5(dl, el, al, bl, cl, m[14], 0xa953fd4e, 5); al = rotl(al, 10)
|
||||
cl = fn5(cl, dl, el, al, bl, m[1], 0xa953fd4e, 12); el = rotl(el, 10)
|
||||
bl = fn5(bl, cl, dl, el, al, m[3], 0xa953fd4e, 13); dl = rotl(dl, 10)
|
||||
al = fn5(al, bl, cl, dl, el, m[8], 0xa953fd4e, 14); cl = rotl(cl, 10)
|
||||
el = fn5(el, al, bl, cl, dl, m[11], 0xa953fd4e, 11); bl = rotl(bl, 10)
|
||||
dl = fn5(dl, el, al, bl, cl, m[6], 0xa953fd4e, 8); al = rotl(al, 10)
|
||||
cl = fn5(cl, dl, el, al, bl, m[15], 0xa953fd4e, 5); el = rotl(el, 10)
|
||||
bl = fn5(bl, cl, dl, el, al, m[13], 0xa953fd4e, 6); dl = rotl(dl, 10)
|
||||
|
||||
var ar = this._a
|
||||
var br = this._b
|
||||
var cr = this._c
|
||||
var dr = this._d
|
||||
var er = this._e
|
||||
|
||||
// M'j = 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12
|
||||
// K' = 0x50a28be6
|
||||
// S'j = 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6
|
||||
ar = fn5(ar, br, cr, dr, er, m[5], 0x50a28be6, 8); cr = rotl(cr, 10)
|
||||
er = fn5(er, ar, br, cr, dr, m[14], 0x50a28be6, 9); br = rotl(br, 10)
|
||||
dr = fn5(dr, er, ar, br, cr, m[7], 0x50a28be6, 9); ar = rotl(ar, 10)
|
||||
cr = fn5(cr, dr, er, ar, br, m[0], 0x50a28be6, 11); er = rotl(er, 10)
|
||||
br = fn5(br, cr, dr, er, ar, m[9], 0x50a28be6, 13); dr = rotl(dr, 10)
|
||||
ar = fn5(ar, br, cr, dr, er, m[2], 0x50a28be6, 15); cr = rotl(cr, 10)
|
||||
er = fn5(er, ar, br, cr, dr, m[11], 0x50a28be6, 15); br = rotl(br, 10)
|
||||
dr = fn5(dr, er, ar, br, cr, m[4], 0x50a28be6, 5); ar = rotl(ar, 10)
|
||||
cr = fn5(cr, dr, er, ar, br, m[13], 0x50a28be6, 7); er = rotl(er, 10)
|
||||
br = fn5(br, cr, dr, er, ar, m[6], 0x50a28be6, 7); dr = rotl(dr, 10)
|
||||
ar = fn5(ar, br, cr, dr, er, m[15], 0x50a28be6, 8); cr = rotl(cr, 10)
|
||||
er = fn5(er, ar, br, cr, dr, m[8], 0x50a28be6, 11); br = rotl(br, 10)
|
||||
dr = fn5(dr, er, ar, br, cr, m[1], 0x50a28be6, 14); ar = rotl(ar, 10)
|
||||
cr = fn5(cr, dr, er, ar, br, m[10], 0x50a28be6, 14); er = rotl(er, 10)
|
||||
br = fn5(br, cr, dr, er, ar, m[3], 0x50a28be6, 12); dr = rotl(dr, 10)
|
||||
ar = fn5(ar, br, cr, dr, er, m[12], 0x50a28be6, 6); cr = rotl(cr, 10)
|
||||
|
||||
// M'j = 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2
|
||||
// K' = 0x5c4dd124
|
||||
// S'j = 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11
|
||||
er = fn4(er, ar, br, cr, dr, m[6], 0x5c4dd124, 9); br = rotl(br, 10)
|
||||
dr = fn4(dr, er, ar, br, cr, m[11], 0x5c4dd124, 13); ar = rotl(ar, 10)
|
||||
cr = fn4(cr, dr, er, ar, br, m[3], 0x5c4dd124, 15); er = rotl(er, 10)
|
||||
br = fn4(br, cr, dr, er, ar, m[7], 0x5c4dd124, 7); dr = rotl(dr, 10)
|
||||
ar = fn4(ar, br, cr, dr, er, m[0], 0x5c4dd124, 12); cr = rotl(cr, 10)
|
||||
er = fn4(er, ar, br, cr, dr, m[13], 0x5c4dd124, 8); br = rotl(br, 10)
|
||||
dr = fn4(dr, er, ar, br, cr, m[5], 0x5c4dd124, 9); ar = rotl(ar, 10)
|
||||
cr = fn4(cr, dr, er, ar, br, m[10], 0x5c4dd124, 11); er = rotl(er, 10)
|
||||
br = fn4(br, cr, dr, er, ar, m[14], 0x5c4dd124, 7); dr = rotl(dr, 10)
|
||||
ar = fn4(ar, br, cr, dr, er, m[15], 0x5c4dd124, 7); cr = rotl(cr, 10)
|
||||
er = fn4(er, ar, br, cr, dr, m[8], 0x5c4dd124, 12); br = rotl(br, 10)
|
||||
dr = fn4(dr, er, ar, br, cr, m[12], 0x5c4dd124, 7); ar = rotl(ar, 10)
|
||||
cr = fn4(cr, dr, er, ar, br, m[4], 0x5c4dd124, 6); er = rotl(er, 10)
|
||||
br = fn4(br, cr, dr, er, ar, m[9], 0x5c4dd124, 15); dr = rotl(dr, 10)
|
||||
ar = fn4(ar, br, cr, dr, er, m[1], 0x5c4dd124, 13); cr = rotl(cr, 10)
|
||||
er = fn4(er, ar, br, cr, dr, m[2], 0x5c4dd124, 11); br = rotl(br, 10)
|
||||
|
||||
// M'j = 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13
|
||||
// K' = 0x6d703ef3
|
||||
// S'j = 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5
|
||||
dr = fn3(dr, er, ar, br, cr, m[15], 0x6d703ef3, 9); ar = rotl(ar, 10)
|
||||
cr = fn3(cr, dr, er, ar, br, m[5], 0x6d703ef3, 7); er = rotl(er, 10)
|
||||
br = fn3(br, cr, dr, er, ar, m[1], 0x6d703ef3, 15); dr = rotl(dr, 10)
|
||||
ar = fn3(ar, br, cr, dr, er, m[3], 0x6d703ef3, 11); cr = rotl(cr, 10)
|
||||
er = fn3(er, ar, br, cr, dr, m[7], 0x6d703ef3, 8); br = rotl(br, 10)
|
||||
dr = fn3(dr, er, ar, br, cr, m[14], 0x6d703ef3, 6); ar = rotl(ar, 10)
|
||||
cr = fn3(cr, dr, er, ar, br, m[6], 0x6d703ef3, 6); er = rotl(er, 10)
|
||||
br = fn3(br, cr, dr, er, ar, m[9], 0x6d703ef3, 14); dr = rotl(dr, 10)
|
||||
ar = fn3(ar, br, cr, dr, er, m[11], 0x6d703ef3, 12); cr = rotl(cr, 10)
|
||||
er = fn3(er, ar, br, cr, dr, m[8], 0x6d703ef3, 13); br = rotl(br, 10)
|
||||
dr = fn3(dr, er, ar, br, cr, m[12], 0x6d703ef3, 5); ar = rotl(ar, 10)
|
||||
cr = fn3(cr, dr, er, ar, br, m[2], 0x6d703ef3, 14); er = rotl(er, 10)
|
||||
br = fn3(br, cr, dr, er, ar, m[10], 0x6d703ef3, 13); dr = rotl(dr, 10)
|
||||
ar = fn3(ar, br, cr, dr, er, m[0], 0x6d703ef3, 13); cr = rotl(cr, 10)
|
||||
er = fn3(er, ar, br, cr, dr, m[4], 0x6d703ef3, 7); br = rotl(br, 10)
|
||||
dr = fn3(dr, er, ar, br, cr, m[13], 0x6d703ef3, 5); ar = rotl(ar, 10)
|
||||
|
||||
// M'j = 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14
|
||||
// K' = 0x7a6d76e9
|
||||
// S'j = 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8
|
||||
cr = fn2(cr, dr, er, ar, br, m[8], 0x7a6d76e9, 15); er = rotl(er, 10)
|
||||
br = fn2(br, cr, dr, er, ar, m[6], 0x7a6d76e9, 5); dr = rotl(dr, 10)
|
||||
ar = fn2(ar, br, cr, dr, er, m[4], 0x7a6d76e9, 8); cr = rotl(cr, 10)
|
||||
er = fn2(er, ar, br, cr, dr, m[1], 0x7a6d76e9, 11); br = rotl(br, 10)
|
||||
dr = fn2(dr, er, ar, br, cr, m[3], 0x7a6d76e9, 14); ar = rotl(ar, 10)
|
||||
cr = fn2(cr, dr, er, ar, br, m[11], 0x7a6d76e9, 14); er = rotl(er, 10)
|
||||
br = fn2(br, cr, dr, er, ar, m[15], 0x7a6d76e9, 6); dr = rotl(dr, 10)
|
||||
ar = fn2(ar, br, cr, dr, er, m[0], 0x7a6d76e9, 14); cr = rotl(cr, 10)
|
||||
er = fn2(er, ar, br, cr, dr, m[5], 0x7a6d76e9, 6); br = rotl(br, 10)
|
||||
dr = fn2(dr, er, ar, br, cr, m[12], 0x7a6d76e9, 9); ar = rotl(ar, 10)
|
||||
cr = fn2(cr, dr, er, ar, br, m[2], 0x7a6d76e9, 12); er = rotl(er, 10)
|
||||
br = fn2(br, cr, dr, er, ar, m[13], 0x7a6d76e9, 9); dr = rotl(dr, 10)
|
||||
ar = fn2(ar, br, cr, dr, er, m[9], 0x7a6d76e9, 12); cr = rotl(cr, 10)
|
||||
er = fn2(er, ar, br, cr, dr, m[7], 0x7a6d76e9, 5); br = rotl(br, 10)
|
||||
dr = fn2(dr, er, ar, br, cr, m[10], 0x7a6d76e9, 15); ar = rotl(ar, 10)
|
||||
cr = fn2(cr, dr, er, ar, br, m[14], 0x7a6d76e9, 8); er = rotl(er, 10)
|
||||
|
||||
// M'j = 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
|
||||
// K' = 0x00000000
|
||||
// S'j = 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
|
||||
br = fn1(br, cr, dr, er, ar, m[12], 0x00000000, 8); dr = rotl(dr, 10)
|
||||
ar = fn1(ar, br, cr, dr, er, m[15], 0x00000000, 5); cr = rotl(cr, 10)
|
||||
er = fn1(er, ar, br, cr, dr, m[10], 0x00000000, 12); br = rotl(br, 10)
|
||||
dr = fn1(dr, er, ar, br, cr, m[4], 0x00000000, 9); ar = rotl(ar, 10)
|
||||
cr = fn1(cr, dr, er, ar, br, m[1], 0x00000000, 12); er = rotl(er, 10)
|
||||
br = fn1(br, cr, dr, er, ar, m[5], 0x00000000, 5); dr = rotl(dr, 10)
|
||||
ar = fn1(ar, br, cr, dr, er, m[8], 0x00000000, 14); cr = rotl(cr, 10)
|
||||
er = fn1(er, ar, br, cr, dr, m[7], 0x00000000, 6); br = rotl(br, 10)
|
||||
dr = fn1(dr, er, ar, br, cr, m[6], 0x00000000, 8); ar = rotl(ar, 10)
|
||||
cr = fn1(cr, dr, er, ar, br, m[2], 0x00000000, 13); er = rotl(er, 10)
|
||||
br = fn1(br, cr, dr, er, ar, m[13], 0x00000000, 6); dr = rotl(dr, 10)
|
||||
ar = fn1(ar, br, cr, dr, er, m[14], 0x00000000, 5); cr = rotl(cr, 10)
|
||||
er = fn1(er, ar, br, cr, dr, m[0], 0x00000000, 15); br = rotl(br, 10)
|
||||
dr = fn1(dr, er, ar, br, cr, m[3], 0x00000000, 13); ar = rotl(ar, 10)
|
||||
cr = fn1(cr, dr, er, ar, br, m[9], 0x00000000, 11); er = rotl(er, 10)
|
||||
br = fn1(br, cr, dr, er, ar, m[11], 0x00000000, 11); dr = rotl(dr, 10)
|
||||
|
||||
// change state
|
||||
var t = (this._b + cl + dr) | 0
|
||||
this._b = (this._c + dl + er) | 0
|
||||
this._c = (this._d + el + ar) | 0
|
||||
this._d = (this._e + al + br) | 0
|
||||
this._e = (this._a + bl + cr) | 0
|
||||
this._a = t
|
||||
}
|
||||
|
||||
RIPEMD160.prototype._digest = function () {
|
||||
// create padding and handle blocks
|
||||
this._block[this._blockOffset++] = 0x80
|
||||
if (this._blockOffset > 56) {
|
||||
this._block.fill(0, this._blockOffset, 64)
|
||||
this._update()
|
||||
this._blockOffset = 0
|
||||
}
|
||||
|
||||
this._block.fill(0, this._blockOffset, 56)
|
||||
this._block.writeUInt32LE(this._length[0], 56)
|
||||
this._block.writeUInt32LE(this._length[1], 60)
|
||||
this._update()
|
||||
|
||||
// produce result
|
||||
var buffer = new Buffer(20)
|
||||
buffer.writeInt32LE(this._a, 0)
|
||||
buffer.writeInt32LE(this._b, 4)
|
||||
buffer.writeInt32LE(this._c, 8)
|
||||
buffer.writeInt32LE(this._d, 12)
|
||||
buffer.writeInt32LE(this._e, 16)
|
||||
return buffer
|
||||
}
|
||||
|
||||
function rotl (x, n) {
|
||||
return (x << n) | (x >>> (32 - n))
|
||||
}
|
||||
|
||||
function fn1 (a, b, c, d, e, m, k, s) {
|
||||
return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0
|
||||
}
|
||||
|
||||
function fn2 (a, b, c, d, e, m, k, s) {
|
||||
return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0
|
||||
}
|
||||
|
||||
function fn3 (a, b, c, d, e, m, k, s) {
|
||||
return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0
|
||||
}
|
||||
|
||||
function fn4 (a, b, c, d, e, m, k, s) {
|
||||
return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0
|
||||
}
|
||||
|
||||
function fn5 (a, b, c, d, e, m, k, s) {
|
||||
return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0
|
||||
}
|
||||
|
||||
module.exports = RIPEMD160
|
||||
68
build/node_modules/ripemd160/package.json
generated
vendored
Normal file
68
build/node_modules/ripemd160/package.json
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"_from": "ripemd160@^2.0.0",
|
||||
"_id": "ripemd160@2.0.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=",
|
||||
"_location": "/ripemd160",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "ripemd160@^2.0.0",
|
||||
"name": "ripemd160",
|
||||
"escapedName": "ripemd160",
|
||||
"rawSpec": "^2.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/create-hash",
|
||||
"/create-hmac",
|
||||
"/pbkdf2"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
|
||||
"_shasum": "0f4584295c53a3628af7e6d79aca21ce57d1c6e7",
|
||||
"_spec": "ripemd160@^2.0.0",
|
||||
"_where": "/Users/asciidisco/Desktop/asciidisco.com/build/node_modules/create-hash",
|
||||
"bugs": {
|
||||
"url": "https://github.com/crypto-browserify/ripemd160/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"hash-base": "^2.0.0",
|
||||
"inherits": "^2.0.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Compute ripemd160 of bytes or strings.",
|
||||
"devDependencies": {
|
||||
"hash-test-vectors": "^1.3.2",
|
||||
"standard": "^6.0.7",
|
||||
"tape": "^4.5.1"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/crypto-browserify/ripemd160#readme",
|
||||
"keywords": [
|
||||
"string",
|
||||
"strings",
|
||||
"ripemd160",
|
||||
"ripe160",
|
||||
"bitcoin",
|
||||
"bytes",
|
||||
"cryptography"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "./index",
|
||||
"name": "ripemd160",
|
||||
"repository": {
|
||||
"url": "git+https://github.com/crypto-browserify/ripemd160.git",
|
||||
"type": "git"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "standard",
|
||||
"test": "npm run lint && npm run unit",
|
||||
"unit": "node test/*.js"
|
||||
},
|
||||
"version": "2.0.1"
|
||||
}
|
||||
Reference in New Issue
Block a user