Diffstat (limited to 'frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html') (more/less context) (ignore whitespace changes)
-rw-r--r-- | frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html b/frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html new file mode 100644 index 0000000..63f7610 --- a/dev/null +++ b/frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html @@ -0,0 +1,122 @@ +<!-- + +Copyright 2008-2011 Clipperz Srl + +This file is part of Clipperz's Javascript Crypto Library. +Javascript Crypto Library provides web developers with an extensive +and efficient set of cryptographic functions. The library aims to +obtain maximum execution speed while preserving modularity and +reusability. +For further information about its features and functionalities please +refer to http://www.clipperz.com + +* Javascript Crypto Library is free software: you can redistribute + it and/or modify it under the terms of the GNU Affero General Public + License as published by the Free Software Foundation, either version + 3 of the License, or (at your option) any later version. + +* Javascript Crypto Library is distributed in the hope that it will + be useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Affero General Public License for more details. + +* You should have received a copy of the GNU Affero General Public + License along with Javascript Crypto Library. If not, see + <http://www.gnu.org/licenses/>. + +--> + +<html> +<head> + <title>Clipperz.Crypto.Usage - TEST</title> + + <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> + <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script> + <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> + + <script type='text/javascript' src='../../../../js/JSON/json2.js'></script> + + <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> + <script type='text/javascript' src='../../../../js/Clipperz/YUI/DomHelper.js'></script> + <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> + <script type='text/javascript' src='../../../../js/Clipperz/Logging.js'></script> + <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script> + + <script type='text/javascript' src='../../../../js/Clipperz/Crypto/SHA.js'></script> + <script type='text/javascript' src='../../../../js/Clipperz/Crypto/AES.js'></script> + <script type='text/javascript' src='../../../../js/Clipperz/Crypto/PRNG.js'></script> + +</head> +<body> +<pre id="test"> +<script type="text/javascript"> +Clipperz.Crypto.PRNG.defaultRandomGenerator().fastEntropyAccumulationForTestingPurpose(); + +MochiKit.Base.update(Clipperz, { + 'PM': { + 'Crypto': { + 'passwordEntropy': function(aValue) { + var result; + var bitPerChar; + + bitPerChar = 4; + if (/[a-z]/.test(aValue)) { + bitPerChar ++; + } + if (/[A-Z]/.test(aValue)) { + bitPerChar ++; + } + if (/[^a-zA-Z0-9]/.test(aValue)) { + bitPerChar ++; + } + //MochiKit.Logging.logDebug("--- bitPerChar: " + bitPerChar); + + result = aValue.length * bitPerChar; + + return result; + } + } + } +}) + +try { + var keyValue; + var keyEntropy; + var key; + var plainText; + var cypherText; + var randomBytes; + var hashedValue; + + key = Clipperz.Crypto.SHA.sha256(new Clipperz.ByteArray("This is my long and complex passphrase")); + keyEntropy = Clipperz.PM.Crypto.passwordEntropy(key); + + cypherText = Clipperz.Crypto.AES.encrypt(key, new Clipperz.ByteArray("some text to encrypt")); + plainText = Clipperz.Crypto.AES.decrypt(key, cypherText).asString(); + is(plainText, "some text to encrypt"); + + randomBytes = Clipperz.Crypto.PRNG.defaultRandomGenerator().getRandomBytes(256/8); + hashedValue = Clipperz.Crypto.SHA.sha256(new Clipperz.ByteArray("text to hash")); + +//############################################################################# + +} catch (err) { + + var s = "test suite failure!\n"; + var o = {}; + var k = null; + for (k in err) { + // ensure unique keys?! + if (!o[k]) { + s += k + ": " + err[k] + "\n"; + o[k] = err[k]; + } + } + ok ( false, s ); +} + +</script> +</pre> +</body> +</html> |