Diffstat (limited to 'frontend/gamma/tests/tests/Clipperz/Crypto/Usage.html') (more/less context) (show 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 @@ | |||
1 | <!-- | ||
2 | |||
3 | Copyright 2008-2011 Clipperz Srl | ||
4 | |||
5 | This file is part of Clipperz's Javascript Crypto Library. | ||
6 | Javascript Crypto Library provides web developers with an extensive | ||
7 | and efficient set of cryptographic functions. The library aims to | ||
8 | obtain maximum execution speed while preserving modularity and | ||
9 | reusability. | ||
10 | For further information about its features and functionalities please | ||
11 | refer to http://www.clipperz.com | ||
12 | |||
13 | * Javascript Crypto Library is free software: you can redistribute | ||
14 | it and/or modify it under the terms of the GNU Affero General Public | ||
15 | License as published by the Free Software Foundation, either version | ||
16 | 3 of the License, or (at your option) any later version. | ||
17 | |||
18 | * Javascript Crypto Library is distributed in the hope that it will | ||
19 | be useful, but WITHOUT ANY WARRANTY; without even the implied | ||
20 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
21 | See the GNU Affero General Public License for more details. | ||
22 | |||
23 | * You should have received a copy of the GNU Affero General Public | ||
24 | License along with Javascript Crypto Library. If not, see | ||
25 | <http://www.gnu.org/licenses/>. | ||
26 | |||
27 | --> | ||
28 | |||
29 | <html> | ||
30 | <head> | ||
31 | <title>Clipperz.Crypto.Usage - TEST</title> | ||
32 | |||
33 | <script type="text/javascript" src="../../../../js/MochiKit/MochiKit.js"></script> | ||
34 | <script type="text/javascript" src="../../../../js/JSLog/jslog.js"></script> | ||
35 | <script type="text/javascript" src="../../../SimpleTest/SimpleTest.js"></script> | ||
36 | <link rel="stylesheet" type="text/css" href="../../../SimpleTest/test.css"> | ||
37 | |||
38 | <script type='text/javascript' src='../../../../js/JSON/json2.js'></script> | ||
39 | |||
40 | <script type='text/javascript' src='../../../../js/Clipperz/YUI/Utils.js'></script> | ||
41 | <script type='text/javascript' src='../../../../js/Clipperz/YUI/DomHelper.js'></script> | ||
42 | <script type='text/javascript' src='../../../../js/Clipperz/Base.js'></script> | ||
43 | <script type='text/javascript' src='../../../../js/Clipperz/Logging.js'></script> | ||
44 | <script type='text/javascript' src='../../../../js/Clipperz/ByteArray.js'></script> | ||
45 | |||
46 | <script type='text/javascript' src='../../../../js/Clipperz/Crypto/SHA.js'></script> | ||
47 | <script type='text/javascript' src='../../../../js/Clipperz/Crypto/AES.js'></script> | ||
48 | <script type='text/javascript' src='../../../../js/Clipperz/Crypto/PRNG.js'></script> | ||
49 | |||
50 | </head> | ||
51 | <body> | ||
52 | <pre id="test"> | ||
53 | <script type="text/javascript"> | ||
54 | Clipperz.Crypto.PRNG.defaultRandomGenerator().fastEntropyAccumulationForTestingPurpose(); | ||
55 | |||
56 | MochiKit.Base.update(Clipperz, { | ||
57 | 'PM': { | ||
58 | 'Crypto': { | ||
59 | 'passwordEntropy': function(aValue) { | ||
60 | var result; | ||
61 | varbitPerChar; | ||
62 | |||
63 | bitPerChar = 4; | ||
64 | if (/[a-z]/.test(aValue)) { | ||
65 | bitPerChar ++; | ||
66 | } | ||
67 | if (/[A-Z]/.test(aValue)) { | ||
68 | bitPerChar ++; | ||
69 | } | ||
70 | if (/[^a-zA-Z0-9]/.test(aValue)) { | ||
71 | bitPerChar ++; | ||
72 | } | ||
73 | //MochiKit.Logging.logDebug("--- bitPerChar: " + bitPerChar); | ||
74 | |||
75 | result = aValue.length * bitPerChar; | ||
76 | |||
77 | return result; | ||
78 | } | ||
79 | } | ||
80 | } | ||
81 | }) | ||
82 | |||
83 | try { | ||
84 | var keyValue; | ||
85 | var keyEntropy; | ||
86 | varkey; | ||
87 | var plainText; | ||
88 | var cypherText; | ||
89 | var randomBytes; | ||
90 | var hashedValue; | ||
91 | |||
92 | key = Clipperz.Crypto.SHA.sha256(new Clipperz.ByteArray("This is my long and complex passphrase")); | ||
93 | keyEntropy = Clipperz.PM.Crypto.passwordEntropy(key); | ||
94 | |||
95 | cypherText = Clipperz.Crypto.AES.encrypt(key, new Clipperz.ByteArray("some text to encrypt")); | ||
96 | plainText = Clipperz.Crypto.AES.decrypt(key, cypherText).asString(); | ||
97 | is(plainText, "some text to encrypt"); | ||
98 | |||
99 | randomBytes = Clipperz.Crypto.PRNG.defaultRandomGenerator().getRandomBytes(256/8); | ||
100 | hashedValue = Clipperz.Crypto.SHA.sha256(new Clipperz.ByteArray("text to hash")); | ||
101 | |||
102 | //############################################################################# | ||
103 | |||
104 | } catch (err) { | ||
105 | |||
106 | var s = "test suite failure!\n"; | ||
107 | var o = {}; | ||
108 | var k = null; | ||
109 | for (k in err) { | ||
110 | // ensure unique keys?! | ||
111 | if (!o[k]) { | ||
112 | s += k + ": " + err[k] + "\n"; | ||
113 | o[k] = err[k]; | ||
114 | } | ||
115 | } | ||
116 | ok ( false, s ); | ||
117 | } | ||
118 | |||
119 | </script> | ||
120 | </pre> | ||
121 | </body> | ||
122 | </html> | ||