react / wstein / node_modules / browserify / node_modules / crypto-browserify / node_modules / create-hmac / test.js
80542 viewsvar test = require('tape')12var algorithms = ['sha1', 'sha224','sha256', 'sha384', 'sha512', 'md5', 'rmd160']3var formats = [undefined, 'base64', 'hex', 'binary']45var vectors = require('hash-test-vectors/hmac')6var createHmac = require('./browser')7algorithms.forEach(function (alg) {8vectors.forEach(function (input) {9var key = new Buffer(input.key, 'hex')10var inputBuffer = new Buffer(input.data, 'hex')1112formats.forEach(function (format) {13test('hmac(' + alg + ') w/ ' + input.data.slice(0, 6) + '... as ' + format, function (t) {14var hmac = createHmac(alg, key)1516var formattedInput = format ? inputBuffer.toString(format) : inputBuffer17hmac.update(formattedInput, format)1819var formattedOutput = hmac.digest(format)20var output = new Buffer(formattedOutput, format)2122var truncated = input.truncate ? output.slice(0, input.truncate) : output23t.equal(truncated.toString('hex'), input[alg])24t.end()25})26})27})2829vectors.forEach(function (input) {30test('hmac(' + alg + ') as stream w/ ' + input.data.slice(0, 6) + '...', function (t) {31var hmac = createHmac(alg, new Buffer(input.key, 'hex'))32hmac.end(input.data, 'hex')3334var output = hmac.read()35var truncated = input.truncate ? output.slice(0, input.truncate) : output36t.equal(truncated.toString('hex'), input[alg])37t.end()38})39})40})414243