키과 같이 안드로이드 키 저장소에 저장되어 저장 원시 바이트/문자열을 얻을 : 마찬가지로안드로이드 키 스토어 I가 키를 생성 할 수 있습니다
private static final String AndroidKeyStore = "AndroidKeyStore";
private static final String AES_MODE = "AES/GCM/NoPadding";
keyStore = KeyStore.getInstance(AndroidKeyStore);
keyStore.load(null);
if (!keyStore.containsAlias(KEY_ALIAS)) {
KeyGenerator keyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, AndroidKeyStore);
keyGenerator.init(
new KeyGenParameterSpec.Builder(KEY_ALIAS,
KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
.setBlockModes(KeyProperties.BLOCK_MODE_GCM) .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
.setRandomizedEncryptionRequired(false)
.build());
keyGenerator.generateKey();
}
를, 그래서처럼 검색 할 수 있습니다
keyStore.getKey(KEY_ALIAS, null);
getKey() 함수가 Key 객체를 반환한다는 것을 알고 있지만 키 자체를 나타내는 방법을 찾지 못했습니다. 그것은 toString()이나 getBytes() 같은 것을 가지지 않는 것 같습니다.
키의 바이트를 가져 오거나 적어도 문자열 버전을 출력 할 수 있습니까? 심지어 가능할까요? 각각 바이트 [],
getAlgorithm()
getEncoded()
getFormat()
그들은 문자열을 반환하고 문자열 : Key 객체가 반환