Расшифровка с использованием AES 256 со значениями ключа и соли.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Расшифровка с использованием AES 256 со значениями ключа и соли.

Сообщение Anonymous »

Я пытаюсь реализовать логику дешифрования и знаю, что зашифрованная строка была создана с использованием:
Key: 8d6ea4d3e6f8c4f8641516baa5e42b85
transformation: AES/CBC/ISO10126PADDING
salt: 1c4dd21d7ba43bdd
iterations: 0
Encrypted string: JO0blEp+nEl5nNhgUqoZRJNecogM1XHIXUCatPOJycs=

Здесь приведены образцы ключа и соли. Главное — показать формат, в котором у меня есть эти данные. Методы шифрования основаны на поставщике JCE по умолчанию для JDK (SunJCE).
Теперь, основываясь на приведенной выше информации, я пытаюсь построить логику дешифрования. Немного сомнений:
  • Поскольку используется AES-265, может ли он иметь 128-битный ключ и 64-битные значения соли? или я неправильно интерпретирую информацию.
  • видя зашифрованную строку, похоже, что это значение в кодировке Base64, и нам нужно декодировать его во время расшифровки. Правильно ли я понимаю?
  • Ниже приведена логика расшифровки, которую я пишу, которая выдает ошибку: "javax.crypto.BadPaddingException: Учитывая, что последний блок не дополняется должным образом», когда я вызываю функцию doFinal().
    и я поражен здесь за последние три дня:( . Не могли бы вы указать или дать мне точный код, который будет использоваться здесь для расшифровки с информацией:
public static void main(String[] args) throws Exception {
String encstring = "JO0blEp+nEl5nNhgUqoZRJNecogM1XHIXUCatPOJycs=";
String salt1 = "1c4dd21d7ba43bdd";
String keyStr = "8d6ea4d3e6f8c4f8641516baa5e42b85";

byte[] keyBytes = Hex.decodeHex(keyStr.toCharArray());

SecretKey secret2 = new SecretKeySpec(keyBytes, "AES");

byte[] iv = new byte[]{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
AlgorithmParameterSpec params = new IvParameterSpec(iv);

Cipher cipher2 = Cipher.getInstance("AES/CBC/ISO10126PADDING", "SunJCE");

cipher2.init(Cipher.DECRYPT_MODE, secret2, params);
byte[] encryptedString = Base64.decodeBase64(encstring.getBytes());
byte[] plaintext1 = cipher2.doFinal(encryptedString);

System.out.println(new String(plaintext));
}


Подробнее здесь: https://stackoverflow.com/questions/205 ... alt-values
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Расшифровка с использованием AES 256 со значениями ключа и соли.
    Anonymous » » в форуме JAVA
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Расшифровка с использованием AES 256 со значениями ключа и соли.
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Расшифровка с использованием AES 256 со значениями ключа и соли.
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Дешифрование с использованием AES 256 со значениями ключей и соли
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Дешифрование с использованием AES 256 со значениями ключей и соли
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»