react / wstein / node_modules / browserify / node_modules / crypto-browserify / test / create-hash.js
80538 viewsvar fs = require('fs')1var test = require('tape')23var algorithms = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160']4var encodings = [/*'binary',*/ 'hex', 'base64'];5var vectors = require('hash-test-vectors')6testLib('createHash in crypto-browserify',require('../').createHash);7testLib('create-hash/browser',require('create-hash/browser'));8function testLib(name, createHash) {9test(name, function (t){10algorithms.forEach(function (algorithm) {11t.test('test ' + algorithm + ' against test vectors', function (t) {12vectors.forEach(function (obj, i) {13var input = new Buffer(obj.input, 'base64')14var node = obj[algorithm]15var js = createHash(algorithm).update(input).digest('hex')16t.equal(js, node, algorithm + '(testVector['+i+']) == ' + node)17})1819encodings.forEach(function (encoding) {20vectors.forEach(function (obj, i) {21var input = new Buffer(obj.input, 'base64').toString(encoding)22var node = obj[algorithm]23var js = createHash(algorithm).update(input, encoding).digest('hex')24t.equal(js, node, algorithm + '(testVector['+i+'], '+encoding+') == ' + node)25})26});27vectors.forEach(function (obj, i) {28var input = new Buffer(obj.input, 'base64')29var node = obj[algorithm]30var hash = createHash(algorithm);31hash.end(input)32var js = hash.read().toString('hex')33t.equal(js, node, algorithm + '(testVector['+i+']) == ' + node)34})35t.end()36})37});3839});40}4142