UNPKG

sku-pg

Version:

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

69 lines (56 loc) 2.08 kB
<!DOCTYPE html> <html> <!-- Copyright 2012 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. --> <!-- Unit test for goog.crypt.pbkdf2 --> <head> <meta http-equiv='X-UA-Compatible' content='IE=edge'> <title>Closure Unit Tests - goog.crypt.pbkdf2</title> <script src='../base.js'></script> <script> goog.require('goog.crypt'); goog.require('goog.crypt.pbkdf2'); goog.require('goog.testing.jsunit'); goog.require('goog.userAgent'); </script> </head> <body> <script> function testPBKDF2() { // PBKDF2 test vectors from: // http://tools.ietf.org/html/rfc6070 if (goog.userAgent.IE && goog.userAgent.isVersionOrHigher('7')) { return; } var testPassword = goog.crypt.stringToByteArray('password'); var testSalt = goog.crypt.stringToByteArray('salt'); assertElementsEquals( goog.crypt.hexToByteArray('0c60c80f961f0e71f3a9b524af6012062fe037a6'), goog.crypt.pbkdf2.deriveKeySha1(testPassword, testSalt, 1, 160)); assertElementsEquals( goog.crypt.hexToByteArray('ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957'), goog.crypt.pbkdf2.deriveKeySha1(testPassword, testSalt, 2, 160)); assertElementsEquals( goog.crypt.hexToByteArray('4b007901b765489abead49d926f721d065a429c1'), goog.crypt.pbkdf2.deriveKeySha1(testPassword, testSalt, 4096, 160)); testPassword = goog.crypt.stringToByteArray('passwordPASSWORDpassword'); testSalt = goog.crypt.stringToByteArray('saltSALTsaltSALTsaltSALTsaltSALTsalt'); assertElementsEquals( goog.crypt.hexToByteArray( '3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038'), goog.crypt.pbkdf2.deriveKeySha1(testPassword, testSalt, 4096, 200)); testPassword = goog.crypt.stringToByteArray('pass\0word'); testSalt = goog.crypt.stringToByteArray('sa\0lt'); assertElementsEquals( goog.crypt.hexToByteArray('56fa6aa75548099dcc37d7f03425e0c3'), goog.crypt.pbkdf2.deriveKeySha1(testPassword, testSalt, 4096, 128)); } </script> </body> </html>