使用指纹

时间:2016-02-01 10:17:55

标签: android security fingerprint biometrics

我正在为具有nexus印记的设备实施“使用指纹而不是密码”功能。

提示指纹是否相当容易,看看是否正确但我正试图用指纹保护值,我正在按照这个例子https://github.com/googlesamples/android-FingerprintDialog但是没有“恢复”带指纹的值“,它只解释了如何存储

这样的任何好例子?

API需要密码,因此一般的想法是:

  • 用户激活"使用指纹保护"
  • 被要求输入密码
  • 如果正确,则要求指纹
  • 如果正确,则密码安全存储
  • 对于任何后续登录,当​​触摸指纹扫描仪时,如果正确,则将该值解密并发送到服务器进行登录

1 个答案:

答案 0 :(得分:2)

好的,找到了方法,只是为了记录,这里是步骤:

Init Cypher解密:

cipher.init(Cipher.DECRYPT_MODE, key, new IvParameterSpec(iv));

使用Cypher创建CryptoObject:

CryptoObject cryptoObject = new FingerprintManagerCompat.CryptoObject(cipher);
fingerprintManager.authenticate(cryptoObject, 0, cancellationSignal, callback, null);

检查onAuthenticationSucceeded(AuthenticationResult)并获取值:

Cipher cipher = authenticationResult.getCryptoObject().getCipher();
byte[] encryptedBytes = cipher.doFinal("1234".getBytes("UTF-8"));