Slide 51
Slide 51 text
QUnit.test( 'HMAC using SHA-256', function ( assert ) {
var testVector = {
data: 'The quick brown fox jumps over the lazy dog',
key: 'key',
hash : 'f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8'
};
var hmacSha256 = { name: 'hmac', hash: { name: 'sha-256' } };
var encoder = new TextEncoder();
var dataBuf = encoder.encode( testVector.data );
var keyBuf = encoder.encode( testVector.key );
assert.promise( crypto.subtle.importKey( 'raw', keyBuf, hmacSha256,
true, ['sign', 'verify'] )
.then( function ( keyResult ) {
return crypto.subtle.sign( hmacSha256, keyResult, dataBuf )
.then( function ( signResult ) {
var hash = $.Uint8Util.toHexString( new Uint8Array( signResult ) );
assert.equal( hash, testVector.hash );
})
}));
});