2016-09-13 13:23:11 +02:00
|
|
|
/* eslint max-nested-callbacks: ["error", 8] */
|
|
|
|
/* eslint-env mocha */
|
|
|
|
'use strict'
|
|
|
|
|
2017-03-21 15:05:22 +00:00
|
|
|
const chai = require('chai')
|
|
|
|
const dirtyChai = require('dirty-chai')
|
|
|
|
const expect = chai.expect
|
|
|
|
chai.use(dirtyChai)
|
2017-01-16 05:17:50 +01:00
|
|
|
|
2017-07-22 10:57:27 -07:00
|
|
|
const crypto = require('../../src')
|
2016-09-13 13:23:11 +02:00
|
|
|
|
|
|
|
const hashes = ['SHA1', 'SHA256', 'SHA512']
|
|
|
|
|
|
|
|
describe('HMAC', () => {
|
|
|
|
hashes.forEach((hash) => {
|
|
|
|
it(`${hash} - sign and verify`, (done) => {
|
2017-01-16 05:17:50 +01:00
|
|
|
crypto.hmac.create(hash, Buffer.from('secret'), (err, hmac) => {
|
2017-03-21 15:05:22 +00:00
|
|
|
expect(err).to.not.exist()
|
2016-09-13 13:23:11 +02:00
|
|
|
|
2017-01-16 05:17:50 +01:00
|
|
|
hmac.digest(Buffer.from('hello world'), (err, sig) => {
|
2017-03-21 15:05:22 +00:00
|
|
|
expect(err).to.not.exist()
|
2016-09-13 13:23:11 +02:00
|
|
|
expect(sig).to.have.length(hmac.length)
|
|
|
|
done()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|