【问题标题】:Protect value with fingerprint用指纹保护价值
【发布时间】:2016-05-09 18:04:15
【问题描述】:

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

提示输入指纹并查看是否正确相当容易,但我正在摸索试图用指纹保护值,我正在遵循这个示例https://github.com/googlesamples/android-FingerprintDialog,但没有“用指纹”,它只是说明如何存储它

有什么好的例子吗?

API 需要一个密码,所以一般的想法是:

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

【问题讨论】:

    标签: android security fingerprint biometrics


    【解决方案1】:

    好的,找到方法了,记录一下,步骤如下:

    用于解密的初始化密码:

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

    【讨论】:

    • 这很有用。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 2020-09-20
    • 1970-01-01
    • 2010-12-23
    • 2021-04-05
    • 1970-01-01
    • 2015-08-05
    相关资源
    最近更新 更多