react / wstein / node_modules / browserify / node_modules / crypto-browserify / node_modules / browserify-sign / node_modules / elliptic / node_modules / hash.js / test / hash-test.js
80621 viewsvar assert = require('assert');1var hash = require('../');23describe('Hash', function() {4function test(fn, cases) {5for (var i = 0; i < cases.length; i++) {6var msg = cases[i][0];7var res = cases[i][1];8var enc = cases[i][2];910var dgst = fn().update(msg, enc).digest('hex');11assert.equal(dgst, res);1213// Split message14var dgst = fn().update(msg.slice(0, 2), enc)15.update(msg.slice(2), enc)16.digest('hex');17assert.equal(dgst, res);18}19}2021it('should support sha256', function() {22assert.equal(hash.sha256.blockSize, 512);23assert.equal(hash.sha256.outSize, 256);2425test(hash.sha256, [26[ 'abc',27'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' ],28[ 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq',29'248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1' ],30[ 'deadbeef',31'5f78c33274e43fa9de5659265c1d917e25c03722dcb0b8d27db8d5feaa813953',32'hex' ],33]);34});3536it('should support sha224', function() {37assert.equal(hash.sha224.blockSize, 512);38assert.equal(hash.sha224.outSize, 224);3940test(hash.sha224, [41[ 'abc',42'23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7' ],43[ 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq',44'75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525' ],45[ 'deadbeef',46'55b9eee5f60cc362ddc07676f620372611e22272f60fdbec94f243f8',47'hex' ],48]);49});5051it('should support ripemd160', function() {52assert.equal(hash.ripemd160.blockSize, 512);53assert.equal(hash.ripemd160.outSize, 160);5455test(hash.ripemd160, [56[ '', '9c1185a5c5e9fc54612808977ee8f548b2258d31'],57[ 'abc',58'8eb208f7e05d987a9b044a8e98c6b087f15a0bfc' ],59[ 'message digest',60'5d0689ef49d2fae572b881b123a85ffa21595f36' ],61[ 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq',62'12a053384a9c0c88e405a06c27dcf49ada62eb2b' ],63[ 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',64'b0e20b6e3116640286ed3a87a5713079b21f5189' ],65]);66});6768it('should support sha1', function() {69assert.equal(hash.sha1.blockSize, 512);70assert.equal(hash.sha1.outSize, 160);7172test(hash.sha1, [73[ '',74'da39a3ee5e6b4b0d3255bfef95601890afd80709' ],75[ 'abc',76'a9993e364706816aba3e25717850c26c9cd0d89d' ],77[ 'abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq',78'84983e441c3bd26ebaae4aa1f95129e5e54670f1' ],79[ 'deadbeef',80'd78f8bb992a56a597f6c7a1fb918bb78271367eb',81'hex' ],82]);83});8485it('should support sha512', function() {86assert.equal(hash.sha512.blockSize, 1024);87assert.equal(hash.sha512.outSize, 512);8889test(hash.sha512, [90[ 'abc',91'ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a' +92'2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f'93],94[ 'abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmn' +95'hijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu',96'8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018' +97'501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909'98]99]);100});101102it('should support sha384', function() {103assert.equal(hash.sha384.blockSize, 1024);104assert.equal(hash.sha384.outSize, 384);105106test(hash.sha384, [107[ 'abc',108'cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed' +109'8086072ba1e7cc2358baeca134c825a7'110],111[ 'abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmn' +112'hijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu',113'09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712' +114'fcc7c71a557e2db966c3e9fa91746039'115]116]);117});118});119120121