Шифрование Java/дешифрование Node.js - ошибка: 1C80006B: подпрограммы поставщика:: неверная длина конечного блокаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Шифрование Java/дешифрование Node.js - ошибка: 1C80006B: подпрограммы поставщика:: неверная длина конечного блока

Сообщение Anonymous »

Ссылка: я пытаюсь преобразовать расшифровку шифрования Java AES в NodeJs. Это то, что я пробовал до сих пор.
Я пытаюсь расшифровать aes-256-cbc, зашифрованный из Java, в приложении node.js. Код Java ссылается на приведенное выше:
Шифрование Java:
public static String encrypt(String strToEncrypt, String key, byte[] initialVector, String salt) throws Exception{
IvParameterSpec ivspec = new IvParameterSpec(initialVector);
SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256");
KeySpec spec = new PBEKeySpec(key.toCharArray(), salt.getBytes(), 65536, 256);
SecretKey tmp = factory.generateSecret(spec);
SecretKeySpec secretKey = new SecretKeySpec(tmp.getEncoded(), "AES");

Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, secretKey, ivspec);
return Base64.getEncoder().encodeToString(cipher.doFinal(strToEncrypt.getBytes("UTF-8")));
}

Передача следующих значений:
key = shh_password
initialVector = GKomBb2ZFCdL7XQiCtUJZQ==
salt = salt

Расшифровка Node.js:
const algorithm = 'aes-256-cbc';
const digest = 'sha256';

function decrypt(strToDecrypt, secretKey, salt, initialVector) {
const key = crypto.pbkdf2Sync(
secretKey,
Buffer.from(salt),
65536,
32,
digest
);
const iv = Buffer.from(initialVector, 'base64');

const decipher = crypto.createDecipheriv(algorithm, key, iv);
let decrypted = decipher.update(strToDecrypt, 'base64');
decrypted += decipher.final();
return decrypted;
}

Получаю эту ошибку при расшифровке с теми же деталями:
error:1C80006B:Provider routines::wrong final block length


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • AES-256-CBC Encrpyt в Java/расшифровка в узле - ошибка: 1C80006B: подпрограммы поставщика:: неверная длина конечного бло
    Anonymous » » в форуме JAVA
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Шифрование AES в node.js и дешифрование в Java Android
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Шифрование AES на Python, расшифровка на PHP «неправильная длина блока»
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Шифрование AES на Python, расшифровка на PHP «неправильная длина блока»
    Anonymous » » в форуме Php
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Шифрование и дешифрование 3DES для Java [закрыто]
    Гость » » в форуме JAVA
    0 Ответы
    75 Просмотры
    Последнее сообщение Гость

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