1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
| byte[] key_byte = { 11, 12, 12, 12, 12, 12,12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11};
byte[] test_vector = {11,12,12,12,12,12,12,11};
try {
String anketa_path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/ANKETS/10.encr";
String algorithm = "DESede";
String transformation = "DESede/CBC/PKCS5Padding";
DESedeKeySpec keySpec = new DESedeKeySpec(key_byte);
IvParameterSpec iv = new IvParameterSpec(test_vector);
SecretKey key = SecretKeyFactory.getInstance(algorithm).generateSecret(keySpec);
File file = new File(anketa_path);
InputStream is = new FileInputStream(file);
long length = file.length();
byte[] bytes = new byte[(int)length];
int offset = 0;
int numRead = 0;
while (offset < bytes.length && (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
offset += numRead;
}
Cipher cipherDecription = Cipher.getInstance("DESede");
cipherDecription.init(Cipher.DECRYPT_MODE, key,iv);
alertDialog.setMessage(Integer.toString(bytes.length));
byte[] decrypted = cipherDecription.doFinal(bytes);
// File os = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/ANKETS/encrypted.xml");
// String str_encr = new String(decrypted);
PrintWriter pr = new PrintWriter(Environment.getExternalStorageDirectory().getAbsolutePath() + "/ANKETS/encrypted.xml");
/// pr.write(str_encr);
//
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
alertDialog.setMessage("0 : " + e.getMessage());
}
catch (NoSuchPaddingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
alertDialog.setMessage("1 : " + e.getMessage());
}
catch (InvalidKeyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
alertDialog.setMessage("2 : " + e.getMessage());
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
alertDialog.setMessage("3 : " + e.getMessage());
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
alertDialog.setMessage("4 : " + e.getMessage());
}
catch (InvalidAlgorithmParameterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
alertDialog.setMessage("5 : " + e.getMessage());
}
catch (InvalidKeySpecException e) {
// TODO Auto-generated catch block
e.printStackTrace();
alertDialog.setMessage("8 : " + e.getMessage());
}
catch (IllegalBlockSizeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
alertDialog.setMessage("9 : " + e.getMessage());
}
catch (BadPaddingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
// alertDialog.setMessage("10 : " + e.getMessage());
}
alertDialog.show(); |