UNPKG

aws-crt

Version:

NodeJS/browser bindings to the aws-c-* libraries

99 lines (81 loc) 2.99 kB
/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ import * as native from './crypto'; import * as browser from '../browser/crypto'; import '@test/custom_matchers' test('md5 multi-part matches', () => { const parts = ['ABC', '123', 'XYZ']; const native_md5 = new native.Md5Hash(); const browser_md5 = new browser.Md5Hash(); parts.forEach(part => { native_md5.update(part); browser_md5.update(part); }); const native_hash = native_md5.finalize(); const browser_hash = browser_md5.finalize(); expect(native_hash).toEqualDataView(browser_hash); }); test('md5 one-shot matches', () => { const data = 'ABC123XYZ'; const native_hash = native.hash_md5(data); const browser_hash = browser.hash_md5(data); expect(native_hash).toEqualDataView(browser_hash); }); test('SHA256 multi-part matches', () => { const parts = ['ABC', '123', 'XYZ']; const native_sha = new native.Sha256Hash(); const browser_sha = new browser.Sha256Hash(); parts.forEach(part => { native_sha.update(part); browser_sha.update(part); }); const native_hash = native_sha.finalize(); const browser_hash = browser_sha.finalize(); expect(native_hash).toEqualDataView(browser_hash); }); test('SHA256 one-shot matches', () => { const data = 'ABC123XYZ'; const native_hash = native.hash_sha256(data); const browser_hash = browser.hash_sha256(data); expect(native_hash).toEqualDataView(browser_hash); }); test('SHA1 multi-part matches', () => { const parts = ['ABC', '123', 'XYZ']; const native_sha = new native.Sha1Hash(); const browser_sha = new browser.Sha1Hash(); parts.forEach(part => { native_sha.update(part); browser_sha.update(part); }); const native_hash = native_sha.finalize(); const browser_hash = browser_sha.finalize(); expect(native_hash).toEqualDataView(browser_hash); }); test('SHA1 one-shot matches', () => { const data = 'ABC123XYZ'; const native_hash = native.hash_sha1(data); const browser_hash = browser.hash_sha1(data); expect(native_hash).toEqualDataView(browser_hash); }); test('hmac-256 multi-part matches', () => { const secret = 'TEST'; const parts = ['ABC', '123', 'XYZ']; const native_hmac = new native.Sha256Hmac(secret); const browser_hmac = new browser.Sha256Hmac(secret); parts.forEach(part => { native_hmac.update(part); browser_hmac.update(part); }); const native_hash = native_hmac.finalize(); const browser_hash = browser_hmac.finalize(); expect(native_hash).toEqualDataView(browser_hash); }); test('hmac-256 one-shot matches', () => { const secret = 'TEST'; const data = 'ABC123XYZ'; const native_hash = native.hmac_sha256(secret, data); const browser_hash = browser.hmac_sha256(secret, data); expect(native_hash).toEqualDataView(browser_hash); });