corrade-nucleus-nucleons – Blame information for rev 4

Subversion Repositories:
Rev:
Rev Author Line No. Line
2 office 1 /*
2 CryptoJS v3.1.2
3 code.google.com/p/crypto-js
4 (c) 2009-2013 by Jeff Mott. All rights reserved.
5 code.google.com/p/crypto-js/wiki/License
6 */
7 (function () {
8 // Shortcuts
9 var C = CryptoJS;
10 var C_lib = C.lib;
11 var WordArray = C_lib.WordArray;
12 var C_enc = C.enc;
13  
14 /**
15 * UTF-16 BE encoding strategy.
16 */
17 var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = {
18 /**
19 * Converts a word array to a UTF-16 BE string.
20 *
21 * @param {WordArray} wordArray The word array.
22 *
23 * @return {string} The UTF-16 BE string.
24 *
25 * @static
26 *
27 * @example
28 *
29 * var utf16String = CryptoJS.enc.Utf16.stringify(wordArray);
30 */
31 stringify: function (wordArray) {
32 // Shortcuts
33 var words = wordArray.words;
34 var sigBytes = wordArray.sigBytes;
35  
36 // Convert
37 var utf16Chars = [];
38 for (var i = 0; i < sigBytes; i += 2) {
39 var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff;
40 utf16Chars.push(String.fromCharCode(codePoint));
41 }
42  
43 return utf16Chars.join('');
44 },
45  
46 /**
47 * Converts a UTF-16 BE string to a word array.
48 *
49 * @param {string} utf16Str The UTF-16 BE string.
50 *
51 * @return {WordArray} The word array.
52 *
53 * @static
54 *
55 * @example
56 *
57 * var wordArray = CryptoJS.enc.Utf16.parse(utf16String);
58 */
59 parse: function (utf16Str) {
60 // Shortcut
61 var utf16StrLength = utf16Str.length;
62  
63 // Convert
64 var words = [];
65 for (var i = 0; i < utf16StrLength; i++) {
66 words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16);
67 }
68  
69 return WordArray.create(words, utf16StrLength * 2);
70 }
71 };
72  
73 /**
74 * UTF-16 LE encoding strategy.
75 */
76 C_enc.Utf16LE = {
77 /**
78 * Converts a word array to a UTF-16 LE string.
79 *
80 * @param {WordArray} wordArray The word array.
81 *
82 * @return {string} The UTF-16 LE string.
83 *
84 * @static
85 *
86 * @example
87 *
88 * var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray);
89 */
90 stringify: function (wordArray) {
91 // Shortcuts
92 var words = wordArray.words;
93 var sigBytes = wordArray.sigBytes;
94  
95 // Convert
96 var utf16Chars = [];
97 for (var i = 0; i < sigBytes; i += 2) {
98 var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff);
99 utf16Chars.push(String.fromCharCode(codePoint));
100 }
101  
102 return utf16Chars.join('');
103 },
104  
105 /**
106 * Converts a UTF-16 LE string to a word array.
107 *
108 * @param {string} utf16Str The UTF-16 LE string.
109 *
110 * @return {WordArray} The word array.
111 *
112 * @static
113 *
114 * @example
115 *
116 * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str);
117 */
118 parse: function (utf16Str) {
119 // Shortcut
120 var utf16StrLength = utf16Str.length;
121  
122 // Convert
123 var words = [];
124 for (var i = 0; i < utf16StrLength; i++) {
125 words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16));
126 }
127  
128 return WordArray.create(words, utf16StrLength * 2);
129 }
130 };
131  
132 function swapEndian(word) {
133 return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff);
134 }
135 }());