3

我正在尝试在android JNCryptor的帮助下使用 Cipher Algorithm "AES/CBC/PKCS7Padding"、 HMAC algorithm"HmacSHA256"和 key derivation algorithm编写加密代码。但它显示:"PBKDF2WithHmacSHA256"

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);
  }

任何帮助将不胜感激。

4

1 回答 1

2

很抱歉发表评论但没有意识到您在谈论我的软件 JNCryptor。

您可以查看项目的一个分支https://github.com/t0mm13b/AndroJNCryptor,它试图对代码进行一些与 Android 相关的改进。我相信您的问题可能会在该代码库中得到解决。

据我所知,没有可用的 Android 提供程序提供名为PBKDF2WithHmacSHA256. 相当令人沮丧!

于 2014-07-04T20:27:21.763 回答