package
com.jni;
public
class
Jni
{
private
static
final
int
blockLength =
500
;
private
static
String hexString =
"0123456789ABCDEF"
;
private
static
Jni myJni;
static
{
System.loadLibrary(
"jni"
);
}
private
native
String getEncryptString(String paramString,
boolean
paramBoolean);
public
static
Jni getInstance()
{
if
(myJni ==
null
) {
myJni =
new
Jni();
}
return
myJni;
}
public
String encode(String paramString)
{
paramString = paramString.getBytes();
StringBuilder localStringBuilder =
new
StringBuilder(paramString.length *
2
);
int
i =
0
;
for
(;;)
{
if
(i >= paramString.length) {
return
localStringBuilder.toString();
}
localStringBuilder.append(hexString.charAt((paramString[i] &
0xF0
) >>
4
));
localStringBuilder.append(hexString.charAt((paramString[i] &
0xF
) >>
0
));
i +=
1
;
}
}
[/i][/i][i]
public
String encryptString(String arg9) {[/i]
[i] String v0_1;[/i]
[i]
if
(arg9 ==
null
|| arg9.length() ==
0
) {[/i]
[i] v0_1 =
""
;[/i]
[i] }[/i]
[i]
else
{[/i]
[i] String v2 =
this
.encode(arg9);
[i]
int
v3 = v2.length();[/i]
[i] StringBuffer v4 =
new
StringBuffer();[/i]
[i]
if
(v3 <
500
) {[/i]
[i] v4.append(
this
.getEncryptString(v2,
true
));
[i] }[/i]
[i]
else
{[/i]
[i]
int
v0;[/i]
[i]
for
(v0 =
1
; v0 < v3 /
500
+
1
; ++v0) {[/i]
[i]
if
(v3 %
500
==
0
&& v0 == v3 /
500
) {
[i] v4.append(
this
.getEncryptString(v2.substring((v0 -
1
) *
500
, v0 *
500
),
true
));[/i]
[i]
break
;[/i]
[i] }[/i]
[i]
[i] v4.append(
this
.getEncryptString(v2.substring((v0 -
1
) *
500
, v0 *
500
),
false
));[/i]
[i] }[/i]
[i]
if
(v3 %
500
==
0
) {[/i]
[i]
goto
label_14;[/i]
[i] }[/i]
[i]
[i] v4.append(
this
.getEncryptString(v2.substring((v0 -
1
) *
500
, v3),
true
));[/i]
[i] }[/i]
[i] label_14:[/i]
[i]
[i] v0_1 = DESencryption.getEncString(v4.toString(),
this
.getEncryptString(
"a"
,
true
).substring([/i]
[i]
0
,
8
));[/i]
[i] }[/i]
[i]
return
v0_1;[/i]
[i] }[/i]
[i][i]