Android-шифрование не работает (PBKDF2WithHmacSHA256-шифрование с AES/CBC/PKCS7Padding)

Я пытаюсь написать код шифрования с использованием алгоритма шифрования "AES/CBC/PKCS7Padding"Алгоритм HMAC "HmacSHA256" и алгоритм выведения ключей "PBKDF2WithHmacSHA256" с помощью андроида JNCryptor. Но это показывает:

CryptorException: Failed to generate key from password using PBKDF2WithHmacSHA256

а также

NoSuchAlgorithmException: SecretKeyFactory PBKDF2WithHmacSHA256 implementation not found

 try {
   SecretKeyFactory factory = SecretKeyFactory
     .getInstance(KEY_DERIVATION_ALGORITHM);
   SecretKey tmp = factory.generateSecret(new PBEKeySpec(password,
     salt, getPBKDFIterations(), AES_256_KEY_SIZE * 8));
   return new SecretKeySpec(tmp.getEncoded(), AES_NAME);
  } catch (GeneralSecurityException e) {
   throw new CryptorException(String.format(
     "Failed to generate key from password using %s.",
     KEY_DERIVATION_ALGORITHM), e);
  }

любая помощь будет оценена.

1 ответ

Извиняюсь за комментарии и не осознавая, что вы говорили о моем программном обеспечении, JNCryptor.

Вы можете взглянуть на ответвление проекта https://github.com/t0mm13b/AndroJNCryptor, в котором предпринята попытка внести в код несколько улучшений, связанных с Android. Я считаю, что ваша проблема может быть решена в этой базе кода.

Насколько я знаю, нет доступных Android-провайдеров, которые предлагают алгоритм с именем PBKDF2WithHmacSHA256, Довольно расстраивает!

Другие вопросы по тегам