Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F947884
SimpleAES.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
5 KB
Subscribers
None
SimpleAES.js
View Options
/*
Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
if
(
!
dojo
.
_hasResource
[
"dojox.encoding.crypto.SimpleAES"
]){
dojo
.
_hasResource
[
"dojox.encoding.crypto.SimpleAES"
]
=
true
;
dojo
.
provide
(
"dojox.encoding.crypto.SimpleAES"
);
dojo
.
require
(
"dojox.encoding.base64"
);
dojo
.
require
(
"dojox.encoding.crypto._base"
);
(
function
(){
var
_1
=
[
99
,
124
,
119
,
123
,
242
,
107
,
111
,
197
,
48
,
1
,
103
,
43
,
254
,
215
,
171
,
118
,
202
,
130
,
201
,
125
,
250
,
89
,
71
,
240
,
173
,
212
,
162
,
175
,
156
,
164
,
114
,
192
,
183
,
253
,
147
,
38
,
54
,
63
,
247
,
204
,
52
,
165
,
229
,
241
,
113
,
216
,
49
,
21
,
4
,
199
,
35
,
195
,
24
,
150
,
5
,
154
,
7
,
18
,
128
,
226
,
235
,
39
,
178
,
117
,
9
,
131
,
44
,
26
,
27
,
110
,
90
,
160
,
82
,
59
,
214
,
179
,
41
,
227
,
47
,
132
,
83
,
209
,
0
,
237
,
32
,
252
,
177
,
91
,
106
,
203
,
190
,
57
,
74
,
76
,
88
,
207
,
208
,
239
,
170
,
251
,
67
,
77
,
51
,
133
,
69
,
249
,
2
,
127
,
80
,
60
,
159
,
168
,
81
,
163
,
64
,
143
,
146
,
157
,
56
,
245
,
188
,
182
,
218
,
33
,
16
,
255
,
243
,
210
,
205
,
12
,
19
,
236
,
95
,
151
,
68
,
23
,
196
,
167
,
126
,
61
,
100
,
93
,
25
,
115
,
96
,
129
,
79
,
220
,
34
,
42
,
144
,
136
,
70
,
238
,
184
,
20
,
222
,
94
,
11
,
219
,
224
,
50
,
58
,
10
,
73
,
6
,
36
,
92
,
194
,
211
,
172
,
98
,
145
,
149
,
228
,
121
,
231
,
200
,
55
,
109
,
141
,
213
,
78
,
169
,
108
,
86
,
244
,
234
,
101
,
122
,
174
,
8
,
186
,
120
,
37
,
46
,
28
,
166
,
180
,
198
,
232
,
221
,
116
,
31
,
75
,
189
,
139
,
138
,
112
,
62
,
181
,
102
,
72
,
3
,
246
,
14
,
97
,
53
,
87
,
185
,
134
,
193
,
29
,
158
,
225
,
248
,
152
,
17
,
105
,
217
,
142
,
148
,
155
,
30
,
135
,
233
,
206
,
85
,
40
,
223
,
140
,
161
,
137
,
13
,
191
,
230
,
66
,
104
,
65
,
153
,
45
,
15
,
176
,
84
,
187
,
22
];
var
_2
=
[[
0
,
0
,
0
,
0
],[
1
,
0
,
0
,
0
],[
2
,
0
,
0
,
0
],[
4
,
0
,
0
,
0
],[
8
,
0
,
0
,
0
],[
16
,
0
,
0
,
0
],[
32
,
0
,
0
,
0
],[
64
,
0
,
0
,
0
],[
128
,
0
,
0
,
0
],[
27
,
0
,
0
,
0
],[
54
,
0
,
0
,
0
]];
function
_3
(
_4
,
w
){
var
Nb
=
4
;
var
Nr
=
w
.
length
/
Nb
-
1
;
var
_5
=
[[],[],[],[]];
for
(
var
i
=
0
;
i
<
4
*
Nb
;
i
++
){
_5
[
i
%
4
][
Math
.
floor
(
i
/
4
)]
=
_4
[
i
];
}
_5
=
_6
(
_5
,
w
,
0
,
Nb
);
for
(
var
_7
=
1
;
_7
<
Nr
;
_7
++
){
_5
=
_8
(
_5
,
Nb
);
_5
=
_9
(
_5
,
Nb
);
_5
=
_a
(
_5
,
Nb
);
_5
=
_6
(
_5
,
w
,
_7
,
Nb
);
}
_5
=
_8
(
_5
,
Nb
);
_5
=
_9
(
_5
,
Nb
);
_5
=
_6
(
_5
,
w
,
Nr
,
Nb
);
var
_b
=
new
Array
(
4
*
Nb
);
for
(
var
i
=
0
;
i
<
4
*
Nb
;
i
++
){
_b
[
i
]
=
_5
[
i
%
4
][
Math
.
floor
(
i
/
4
)];
}
return
_b
;
};
function
_8
(
s
,
Nb
){
for
(
var
r
=
0
;
r
<
4
;
r
++
){
for
(
var
c
=
0
;
c
<
Nb
;
c
++
){
s
[
r
][
c
]
=
_1
[
s
[
r
][
c
]];
}
}
return
s
;
};
function
_9
(
s
,
Nb
){
var
t
=
new
Array
(
4
);
for
(
var
r
=
1
;
r
<
4
;
r
++
){
for
(
var
c
=
0
;
c
<
4
;
c
++
){
t
[
c
]
=
s
[
r
][(
c
+
r
)
%
Nb
];
}
for
(
var
c
=
0
;
c
<
4
;
c
++
){
s
[
r
][
c
]
=
t
[
c
];
}
}
return
s
;
};
function
_a
(
s
,
Nb
){
for
(
var
c
=
0
;
c
<
4
;
c
++
){
var
a
=
new
Array
(
4
);
var
b
=
new
Array
(
4
);
for
(
var
i
=
0
;
i
<
4
;
i
++
){
a
[
i
]
=
s
[
i
][
c
];
b
[
i
]
=
s
[
i
][
c
]
&
128
?
s
[
i
][
c
]
<<
1
^
283
:
s
[
i
][
c
]
<<
1
;
}
s
[
0
][
c
]
=
b
[
0
]
^
a
[
1
]
^
b
[
1
]
^
a
[
2
]
^
a
[
3
];
s
[
1
][
c
]
=
a
[
0
]
^
b
[
1
]
^
a
[
2
]
^
b
[
2
]
^
a
[
3
];
s
[
2
][
c
]
=
a
[
0
]
^
a
[
1
]
^
b
[
2
]
^
a
[
3
]
^
b
[
3
];
s
[
3
][
c
]
=
a
[
0
]
^
b
[
0
]
^
a
[
1
]
^
a
[
2
]
^
b
[
3
];
}
return
s
;
};
function
_6
(
_c
,
w
,
_d
,
Nb
){
for
(
var
r
=
0
;
r
<
4
;
r
++
){
for
(
var
c
=
0
;
c
<
Nb
;
c
++
){
_c
[
r
][
c
]
^=
w
[
_d
*
4
+
c
][
r
];
}
}
return
_c
;
};
function
_e
(
_f
){
var
Nb
=
4
;
var
Nk
=
_f
.
length
/
4
;
var
Nr
=
Nk
+
6
;
var
w
=
new
Array
(
Nb
*
(
Nr
+
1
));
var
_10
=
new
Array
(
4
);
for
(
var
i
=
0
;
i
<
Nk
;
i
++
){
var
r
=
[
_f
[
4
*
i
],
_f
[
4
*
i
+
1
],
_f
[
4
*
i
+
2
],
_f
[
4
*
i
+
3
]];
w
[
i
]
=
r
;
}
for
(
var
i
=
Nk
;
i
<
(
Nb
*
(
Nr
+
1
));
i
++
){
w
[
i
]
=
new
Array
(
4
);
for
(
var
t
=
0
;
t
<
4
;
t
++
){
_10
[
t
]
=
w
[
i
-
1
][
t
];
}
if
(
i
%
Nk
==
0
){
_10
=
_11
(
_12
(
_10
));
for
(
var
t
=
0
;
t
<
4
;
t
++
){
_10
[
t
]
^=
_2
[
i
/
Nk
][
t
];
}
}
else
{
if
(
Nk
>
6
&&
i
%
Nk
==
4
){
_10
=
_11
(
_10
);
}
}
for
(
var
t
=
0
;
t
<
4
;
t
++
){
w
[
i
][
t
]
=
w
[
i
-
Nk
][
t
]
^
_10
[
t
];
}
}
return
w
;
};
function
_11
(
w
){
for
(
var
i
=
0
;
i
<
4
;
i
++
){
w
[
i
]
=
_1
[
w
[
i
]];
}
return
w
;
};
function
_12
(
w
){
w
[
4
]
=
w
[
0
];
for
(
var
i
=
0
;
i
<
4
;
i
++
){
w
[
i
]
=
w
[
i
+
1
];
}
return
w
;
};
function
_13
(
_14
,
_15
,
_16
){
if
(
!
(
_16
==
128
||
_16
==
192
||
_16
==
256
)){
return
""
;
}
var
_17
=
_16
/
8
;
var
_18
=
new
Array
(
_17
);
for
(
var
i
=
0
;
i
<
_17
;
i
++
){
_18
[
i
]
=
_15
.
charCodeAt
(
i
)
&
255
;
}
var
key
=
_3
(
_18
,
_e
(
_18
));
key
=
key
.
concat
(
key
.
slice
(
0
,
_17
-
16
));
var
_19
=
16
;
var
_1a
=
new
Array
(
_19
);
var
_1b
=
(
new
Date
()).
getTime
();
for
(
var
i
=
0
;
i
<
4
;
i
++
){
_1a
[
i
]
=
(
_1b
>>>
i
*
8
)
&
255
;
}
for
(
var
i
=
0
;
i
<
4
;
i
++
){
_1a
[
i
+
4
]
=
(
_1b
/
4294967296
>>>
i
*
8
)
&
255
;
}
var
_1c
=
_e
(
key
);
var
_1d
=
Math
.
ceil
(
_14
.
length
/
_19
);
var
_1e
=
new
Array
(
_1d
);
for
(
var
b
=
0
;
b
<
_1d
;
b
++
){
for
(
var
c
=
0
;
c
<
4
;
c
++
){
_1a
[
15
-
c
]
=
(
b
>>>
c
*
8
)
&
255
;
}
for
(
var
c
=
0
;
c
<
4
;
c
++
){
_1a
[
15
-
c
-
4
]
=
(
b
/
4294967296
>>>
c
*
8
);
}
var
_1f
=
_3
(
_1a
,
_1c
);
var
_20
=
b
<
_1d
-
1
?
_19
:
(
_14
.
length
-
1
)
%
_19
+
1
;
var
ct
=
""
;
for
(
var
i
=
0
;
i
<
_20
;
i
++
){
var
_21
=
_14
.
charCodeAt
(
b
*
_19
+
i
);
var
_22
=
_21
^
_1f
[
i
];
ct
+=
((
_22
<
16
)
?
"0"
:
""
)
+
_22
.
toString
(
16
);
}
_1e
[
b
]
=
ct
;
}
var
_23
=
""
;
for
(
var
i
=
0
;
i
<
8
;
i
++
){
_23
+=
((
_1a
[
i
]
<
16
)
?
"0"
:
""
)
+
_1a
[
i
].
toString
(
16
);
}
return
_23
+
" "
+
_1e
.
join
(
" "
);
};
function
_24
(
s
){
var
ret
=
[];
s
.
replace
(
/(..)/g
,
function
(
str
){
ret
.
push
(
parseInt
(
str
,
16
));
});
return
ret
;
};
function
_25
(
_26
,
_27
,
_28
){
if
(
!
(
_28
==
128
||
_28
==
192
||
_28
==
256
)){
return
""
;
}
var
_29
=
_28
/
8
;
var
_2a
=
new
Array
(
_29
);
for
(
var
i
=
0
;
i
<
_29
;
i
++
){
_2a
[
i
]
=
_27
.
charCodeAt
(
i
)
&
255
;
}
var
_2b
=
_e
(
_2a
);
var
key
=
_3
(
_2a
,
_2b
);
key
=
key
.
concat
(
key
.
slice
(
0
,
_29
-
16
));
var
_2c
=
_e
(
key
);
_26
=
_26
.
split
(
" "
);
var
_2d
=
16
;
var
_2e
=
new
Array
(
_2d
);
var
_2f
=
_26
[
0
];
_2e
=
_24
(
_2f
);
var
_30
=
new
Array
(
_26
.
length
-
1
);
for
(
var
b
=
1
;
b
<
_26
.
length
;
b
++
){
for
(
var
c
=
0
;
c
<
4
;
c
++
){
_2e
[
15
-
c
]
=
((
b
-
1
)
>>>
c
*
8
)
&
255
;
}
for
(
var
c
=
0
;
c
<
4
;
c
++
){
_2e
[
15
-
c
-
4
]
=
((
b
/
4294967296
-
1
)
>>>
c
*
8
)
&
255
;
}
var
_31
=
_3
(
_2e
,
_2c
);
var
pt
=
""
;
var
tmp
=
_24
(
_26
[
b
]);
for
(
var
i
=
0
;
i
<
tmp
.
length
;
i
++
){
var
_32
=
_26
[
b
].
charCodeAt
(
i
);
var
_33
=
tmp
[
i
]
^
_31
[
i
];
pt
+=
String
.
fromCharCode
(
_33
);
}
_30
[
b
-
1
]
=
pt
;
}
return
_30
.
join
(
""
);
};
function
_34
(
str
){
return
str
.
replace
(
/[\0\t\n\v\f\r\xa0!-]/g
,
function
(
c
){
return
"!"
+
c
.
charCodeAt
(
0
)
+
"!"
;
});
};
function
_35
(
str
){
return
str
.
replace
(
/!\d\d?\d?!/g
,
function
(
c
){
return
String
.
fromCharCode
(
c
.
slice
(
1
,
-
1
));
});
};
dojox
.
encoding
.
crypto
.
SimpleAES
=
new
(
function
(){
this
.
encrypt
=
function
(
_36
,
key
){
return
_13
(
_36
,
key
,
256
);
};
this
.
decrypt
=
function
(
_37
,
key
){
return
_25
(
_37
,
key
,
256
);
};
})();
})();
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 26, 13:45 (21 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24722
Default Alt Text
SimpleAES.js (5 KB)
Attached To
rZEDHG ZedLegacy
Event Timeline
Log In to Comment