我想使用AES加密和解密来自SD卡的文件.为了做到这一点,我们总是需要一个种子(通常是一个由用户作为密码插入的字符串):
public static byte[] generateKey(String password) throws Exception{
byte[] keyStart = password.getBytes("UTF-8");
KeyGenerator kgen = KeyGenerator.getInstance("AES");
SecureRandom sr = SecureRandom.getInstance("SHA1PRNG", "Crypto");
sr.setSeed(keyStart);
kgen.init(128, sr);
SecretKey skey = kgen.generateKey();
return skey.getEncoded();
}
Run Code Online (Sandbox Code Playgroud)
我想跳过这一步(用户插入密码),并且要求用户通过指纹传感器进行身份验证,然后启动加密过程!
我想知道是否有一种方法可以为触摸指纹传感器的每个不同手指获取一个唯一键,可以用作SEED来创建SecretKey!
我在github上阅读了关于SO和相关样本的一些问题,但我仍然找不到办法.
清除问题:我已经完成了AES本身的实现并且完全没问题,我只需要在身份验证后找到一种从指纹传感器获取唯一键的方法.
encryption android fingerprint secret-key android-fingerprint-api