1
我試圖使用存儲下面的代碼在Android密鑰庫AES密鑰:的Android密鑰庫:不支持的密鑰算法:AES/CBC/PKCS5Padding
SecretKey AESkey = new SecretKeySpec(
byteKey, 0, byteKey.length, "AES/CBC/PKCS5Padding");
if (ks == null)
{
ks = KeyStore.getInstance("AndroidKeyStore");
ks.load(null);
}
ks.deleteEntry("aes_key");
ks.setEntry("aes_key",
new KeyStore.SecretKeyEntry(AESkey),
new KeyProtection.Builder(KeyProperties.PURPOSE_ENCRYPT |
KeyProperties.PURPOSE_DECRYPT)
.setBlockModes(KeyProperties.BLOCK_MODE_CBC)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
.build());
與該生產線的參數的setEntry(...)「失敗throwig:
java.security.KeyStoreException: java.lang.IllegalArgumentException: Unsupported secret key algorithm: AES/CBC/PKCS5Padding
我如何保存我的Android.KeyStore關鍵?
'CBC'和'PKCS5Padding'不是鍵的一部分,但鍵的大小是。 – zaph
@zaph你想說我必須改變行SecretKeySpec( byteKey,0,byteKey.length,「AES/CBC/PKCS5Padding」);到新的SecretKeySpec( byteKey,0,byteKey.length,「AES」); ? – JoeFox