UNPKG

sku-pg

Version:

Skulpt is a Javascript implementation of Python 2.x. Python that runs in your browser!

80 lines (69 loc) 2.27 kB
<!DOCTYPE html> <html> <!-- Copyright 2010 The Closure Library Authors. All Rights Reserved. Use of this source code is governed by the Apache License, Version 2.0. See the COPYING file for details. --> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Closure Unit Tests - goog.crypt.sha1</title> <script src="../base.js"></script> <script> goog.require('goog.crypt'); goog.require('goog.crypt.hashTester'); goog.require('goog.crypt.Sha1'); goog.require('goog.testing.jsunit'); goog.require('goog.userAgent'); </script> </head> <body> <script> function testBasicOperations() { var sha1 = new goog.crypt.Sha1(); goog.crypt.hashTester.runBasicTests(sha1); } function testBlockOperations() { var sha1 = new goog.crypt.Sha1(); goog.crypt.hashTester.runBlockTests(sha1, 64); } function testHashing() { // Test vectors from: // csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf // Empty stream. var sha1 = new goog.crypt.Sha1(); assertEquals('da39a3ee5e6b4b0d3255bfef95601890afd80709', goog.crypt.byteArrayToHex(sha1.digest())); // Test one-block message. sha1.reset(); sha1.update([0x61, 0x62, 0x63]); assertEquals('a9993e364706816aba3e25717850c26c9cd0d89d', goog.crypt.byteArrayToHex(sha1.digest())); // Test multi-block message. sha1.reset(); sha1.update('abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq'); assertEquals('84983e441c3bd26ebaae4aa1f95129e5e54670f1', goog.crypt.byteArrayToHex(sha1.digest())); // The following test might cause timeouts on IE7. if (!goog.userAgent.IE || goog.userAgent.isVersionOrHigher('8')) { // Test long message. var thousandAs = []; for (var i = 0; i < 1000; ++i) { thousandAs[i] = 0x61; } sha1.reset(); for (var i = 0; i < 1000; ++i) { sha1.update(thousandAs); } assertEquals('34aa973cd4c4daa4f61eeb2bdbad27316534016f', goog.crypt.byteArrayToHex(sha1.digest())); } // Test standard message. sha1.reset(); sha1.update('The quick brown fox jumps over the lazy dog'); assertEquals('2fd4e1c67a2d28fced849ee1bb76e7391b93eb12', goog.crypt.byteArrayToHex(sha1.digest())); } </script> </body> </html>