Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
HanDi
892 / 339 / 8
Регистрация: 11.02.2012
Сообщений: 1,502
#1

AES Android ошибка. javax.crypto.BadPaddingException - Программирование Android

04.04.2016, 02:34. Просмотров 654. Ответов 0
Метки нет (Все метки)

javax.crypto.BadPaddingException: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
com.android.org.conscrypt.NativeCrypto.EVP_CipherFinal_ex(Native Method)
com.android.org.conscrypt.OpenSSLCipher.doFinalInternal(OpenSSLCipher.java:430)
com.android.org.conscrypt.OpenSSLCipher.engineDoFinal(OpenSSLCipher.java:466)
javax.crypto.Cipher.doFinal(Cipher.java:1340)

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
package com.tereshkoff...AES;
 
import android.util.Base64;
 
import java.security.spec.KeySpec;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.SecretKeySpec;
 
public class AESEncrypter {
 
    private static final byte[] SALT = {
            (byte) 0xA9, (byte) 0x9B, (byte) 0xC8, (byte) 0x32,
            (byte) 0x56, (byte) 0x35, (byte) 0xE3, (byte) 0x03
    };
    private static final int ITERATION_COUNT = 65536;
    private static final int KEY_LENGTH = 256;
    private Cipher ecipher;
    private Cipher dcipher;
 
    public AESEncrypter(String passPhrase) throws Exception {
        SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
        KeySpec spec = new PBEKeySpec(passPhrase.toCharArray(), SALT, ITERATION_COUNT, KEY_LENGTH);
        SecretKey tmp = factory.generateSecret(spec);
        SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES");
 
        ecipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); // "AES/CBC/NoPadding"
        ecipher.init(Cipher.ENCRYPT_MODE, secret);
 
        dcipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        byte[] iv = ecipher.getParameters().getParameterSpec(IvParameterSpec.class).getIV();
        dcipher.init(Cipher.DECRYPT_MODE, secret, new IvParameterSpec(iv));
    }
 
    public String encrypt(String encrypt) throws Exception {
        encrypt = encrypt.replace("\n", "");
 
        byte[] bytes = encrypt.getBytes("UTF8");
        byte[] encrypted = encrypt(bytes);
        return Base64.encodeToString(encrypted, Base64.DEFAULT);
    }
 
    public byte[] encrypt(byte[] plain) throws Exception {
        return ecipher.doFinal(plain);
    }
 
    public String decrypt(String encrypt) throws Exception {
        encrypt = encrypt.replace("\n", "");
        byte[] bytes = Base64.decode(encrypt, Base64.DEFAULT);
        byte[] decrypted = decrypt(bytes);
        return new String(decrypted, "UTF8");
    }
 
    public byte[] decrypt(byte[] encrypt) throws Exception {
        return dcipher.doFinal(encrypt);
    }
 
}
Any ideas? как говорицца..

Добавлено через 9 минут
Кстати, если просто тестировать отдельно, аля:

Java
1
2
3
4
5
6
            String message = "MESSAGE";
            String password = "PASSWORD";
 
            AESEncrypter encrypter = new AESEncrypter(password);
            String encrypted = encrypter.encrypt(message);
            String decrypted = encrypter.decrypt(encrypted);
То работает, что за приколы такие

Попытался засунуть в статику, мало ли.. вызываю в разных классах, ошибка не меняется..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2016, 02:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос AES Android ошибка. javax.crypto.BadPaddingException (Программирование Android):

Ошибка дешифровки AES в Android: pad block corrupted - Программирование Android
Приветствую. В обучающих целях написал на Java программу для хранения паролей, использующую шифрование AES. Написал класс, в котором...

AES для Android - Программирование Android
Всем привет! Я столкнулся с проблемой написания программы шифрования стандарту AES для мобильной платформы Android. Подскажыте какие...

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast - Программирование Android
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка: Caused by: java.lang.ClassCastException:...

Ошибка "Activity class {com.Android.System/com.Android.System.MainActivity} does not exist" - Программирование Android
Starting: Intent { act=android.intent.action.MAIN cat= cmp=com.android.system/.MainActivity } Error type 3 Error: Activity class...

Android-support-v7 ошибка - Программирование Android
Добрый вечер, устанавливал google maps API для проекта. и случайно видимо обновился support вечером все работало нормально, после...

Ошибка в Preferences в Android 4.4 - Программирование Android
Здравствуйте! Не могу понять суть ошибки, на всех версиях Android 2.2+ программа выполнялась корректно, до выхода Kit kat... У меня в...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2016, 02:34
Привет! Вот еще темы с ответами:

Ошибка EndofMemory в Android - Программирование Android
Иногда, при переходе на другую активность вылетает ошибка "EndofMemory". Приложение закрывается и в тот же момент открывается на той же...

Ошибка R в Android Studio - Программирование Android
R обозначается красным цветом после установки Android Studio package com.example.root.myapplication; import...

Ошибка android.osNetworkOnMainThreadException - Программирование Android
Есть клиент (андроид приложение) в котором есть поле и кнопка отправить. Код для (кнопки отправить) @Override public void...

Ошибка Android Studio - Программирование Android
Ребята очень срочно нужна помощь!!!! При запуске android studio возникает ошибка Error:Unable to start the daemon process. This...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru