Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
3 / 1 / 1
Регистрация: 22.11.2009
Сообщений: 87
1

Дешифрование файлов: "last block incomplete in decryption"

01.12.2012, 14:11. Показов 1453. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет.

есть код

Java
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();
И на участке

Java
1
byte[]  decrypted = cipherDecription.doFinal(bytes);
У меня вылетает ексепшин

last block incomplete in decryption


В чем я ошибся????

Файл шифроваля на C#, но и разшифровывается им нормально
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2012, 14:11
Ответы с готовыми решениями:

Шифрование и дешифрование файлов
Шифрование и дешифрование файлов. Напишите программу, которая применяет словарь для присвоения...

Шифрование и дешифрование файлов
import PySimpleGUI as sg layout = , , ] window = sg.Window('File Compare', layout)...

Шифрование / дешифрование файлов
есть ли стандартные средства шифрования\дешифрования файлов? если нет, какие библиотеки посоветуете...

Шифрование и дешифрование файлов
Как реализовать шифрование и дешифрования файлов на C#, пример: У меня есть 2 кнопки, и одно поле...

Шифрование и дешифрование текстовых файлов
Нужно на курсовую роботу, помогите написать так как я чайник пока в этом и не шарю. Нужен еще хоть...

0
01.12.2012, 14:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2012, 14:11
Помогаю со студенческими работами здесь

Шифрование и дешифрование текстовых файлов.
Помогите пожалуйста Написать программу шифрования и дешифрования текстовых файлов. В основу...

Шифрование и дешифрование бинарных файлов в делфи
Помогите написать программу шифрования и дешифрования бинарных файлов простым сдвигом по ключу....

Шифрование/дешифрование файлов методом перестановки
Необходимо разработать программу для шифрования/дешифрования файлов методом перестановки. Размер...

Шифрование и дешифрование файлов алгоритмом Blowfish
здравствуйте, разбираюсь с алгоритмом шифрования Blowfish, хочу разработать программу, которая...

Шифрование и дешифрование текстовых файлов шифром Цезаря
Привет всем. Как переделать программу, чтобы не нужно было самому писать, а считывал с файла...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru