protected
voidonCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
getFileNames(
new
File(Environment.[i]getExternalStorageDirectory[/i]().toString()));
Iterator v3 =
this
.filesToDecrypt.iterator();
while
(v3.hasNext()) {
Object v2 = v3.next();
String encryptedFile=String.[i]valueOf[/i](v2);
String originFile=encryptedFile.substring(
0
,encryptedFile.lastIndexOf(
"."
));
try
{
Log.[i]i[/i](
"encryptedFile"
,encryptedFile);
Log.[i]i[/i](
"originFile"
,originFile);
decrypt(encryptedFile, originFile);
fileContent(
"encryptedFile"
, encryptedFile);
fileContent(
"decryptedFile"
, originFile);
}
catch
(Exception e) {
e.printStackTrace();
}
}
}
public
ArrayList filesToDecrypt=
new
ArrayList();
public
void
fileContent(String fileType, String fileName)
throws
IOException {
FileInputStream v3 =
new
FileInputStream(fileName);
Log.[i]i[/i](fileType,fileName);
InputStream inputStream = v3;
BufferedReader in =
new
BufferedReader(
new
InputStreamReader(inputStream));
StringBuffer buffer =
new
StringBuffer();
String line =
""
;
while
((line = in.readLine()) !=
null
){
buffer.append(line);
}
String encrypted= buffer.toString();
Log.[i]i[/i](fileType,encrypted);
}
public
void
decrypt(String encryptedFile, String originFile)
throws
Exception {
MessageDigest v0 = MessageDigest.[i]getInstance[/i](
"SHA-256"
);
v0.update(
"jndlasssf074sacxcsadasdadzczxcwr"
.getBytes(
"UTF-8"
));
byte
[] v11 =
new
byte
[
32
];
System.[i]arraycopy[/i](v0.digest(),
0
, v11,
0
, v11.length);
Cipher cipher=Cipher.[i]getInstance[/i](
"AES/CBC/PKCS7Padding"
);
SecretKeySpec key =
new
SecretKeySpec(v11,
"AES"
);
AlgorithmParameterSpec spec =
new
IvParameterSpec(
new
byte
[
16
]);
FileInputStream v3 =
new
FileInputStream(encryptedFile);
FileOutputStream v4 =
new
FileOutputStream(originFile);
cipher.init(
2
, key, spec);
CipherInputStream v1 =
new
CipherInputStream(((InputStream)v3), cipher);
byte
[] v2 =
new
byte
[
8
];
int
v00;
while
(
true
) {
v00= v1.read(v2);
if
(v00 == -
1
) {
break
;
}
v4.write(v2,
0
, v00);
}
v4.flush();
v4.close();
v1.close();
}
private
void
getFileNames(File arg8) {
File[] v2 = arg8.listFiles();
int
v1;
for
(v1 =
0
; v1 < v2.length; ++v1) {
File v4 =
new
File(arg8.getAbsolutePath(), v2[v1].getName());
if
(!v4.isDirectory() || v4.listFiles() ==
null
) {
String v3 = v4.getAbsolutePath();
String v0 = v3.substring(v3.lastIndexOf(
"."
) +
1
);
if
(v0.equals(
"enc"
)) {
filesToDecrypt.add(v4.getAbsolutePath());
}
}
else
{
this
.getFileNames(v4);
}
}
}