Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
HanDi
892 / 339 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
1

AES Android ошибка. javax.crypto.BadPaddingException

04.04.2016, 02:34. Просмотров 776. Ответов 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: pad block corrupted
Приветствую. В обучающих целях написал на Java программу для хранения паролей,...

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

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

Ошибка в Android Studio Error:No resource identifier found for attribute 'appComponentFactory' in package 'android'
Доброго времени суток! При компиляции андроид приложении выходит данная...

(Android studio, java) Ошибка при импорте библиотеки cannot resolve symbol android studio
Вот библиотека https://github.com/mik3y/usb-serial-for-android. Устанавливал...

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

Ошибка "Activity class {com.Android.System/com.Android.System.MainActivity} does not exist"
Starting: Intent { act=android.intent.action.MAIN cat=...

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

Ошибка R в Android Studio
R обозначается красным цветом после установки Android Studio package...


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

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

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