美文网首页
Android 指纹登录、支付

Android 指纹登录、支付

作者: Stefan_Lau | 来源:发表于2019-01-09 16:20 被阅读0次

最近在做指纹登录,然后网上一大堆,but,几乎都只是说指纹识别,识别后如何登录几乎没有资料。

其他基础的就不说了,网上一大堆。。。

为什么Cipher需要包装传递给authenticate()方法

Cipher传递给指纹验证方法,再取出来做加密解密,和直接用Cipher加密解密有什么区别呢?问题的关键还是在创建的Key上,创建keyGenerator时,有一个方法setUserAuthenticationRequired(true),也就是说这个key秘钥必须用户验证了才可以使用的,所以使用这种key初始化的的Cipher如果直接用于加密或者解密,会报出错误W/System.err: javax.crypto.IllegalBlockSizeException,仔细查看错误栈信息会发现它是由于android.security.KeyStoreException: Key user not authenticated这个错误引起的。而当我们将Cipher包装传递给指纹验证方法时,其内部验证了用户的身份,也就解除了Cipher中的key的使用限制,因此在回调方法中就可以使用该Cipher来加解密了。

如何保存相关信息以配合指纹验证身份

指纹验证只是一个认证用户身份的方式,由于用于加密解密的实际操作其实是委托给CryptoObject内部的Cipher,因此主要的工作还是在Cipher的处理上,以指纹支付为例,加密方式是AES-CBC的对称加密:

首先是是加密,当用户选择开通指纹验证登录时,首先会要求用户输入登录密码,接下来代码中初始化一个Cipher用于加密操作,接着要求用户验证指纹,指纹验证成功后将登录密码通过Cipher加密并将做Base64转换成字符串,同时将Cipher的初始向量byte[] iv一起转换成字符串,将这两个字符串存储到服务器。同时,用于初始化Cipher的key保存在Android内部秘钥库AndroidKeyStore中,外部应用程序无法获取。

当用户发起登录时,首先从服务器获取之前加密过的密码字符串和初始向量字符串,同时从本地秘钥库AndroidKeyStore中通过alias别名取出之前存储的key,用初始向量和key初始化一个Cipher,接下来发起指纹登录,指纹验证通过后便可用这个Cipher解密字符串获取真正的登录密码,然后传递给服务器验证。

代码就不贴了

let`s gayhug

https://github.com/Tendy-Lau/biometricdemo

相关文章

  • Android 指纹登录、支付

    最近在做指纹登录,然后网上一大堆,but,几乎都只是说指纹识别,识别后如何登录几乎没有资料。 其他基础的就不说了,...

  • Android指纹登录/指纹支付简述

    一、简述 业务需求,需要指纹登录,鉴于市面上的资料不是特别齐全,走了不少弯路。现在通了,写点东西给大伙做个参考。末...

  • 指纹登录是怎么跑起来的

    现在指纹登录是一种很常见的登录方式,特别是在金融类APP中,使用指纹进行登录、支付的特别多。指纹登录本身是一种指纹...

  • ios 指纹登录 指纹支付

    ios8以后,苹果开放指纹,指纹可以用在支付,或者登录是使用 引入头文件 #import

  • Android指纹登录

    1、介绍 指纹登录可以实现应用的快捷登录,在Android6.0谷歌才提供统一指纹SDK接口,在6.0之前都是各个...

  • android指纹支付

    一: 指纹支付工作流程: 二 指纹原理解析: 1 指纹验证:通过FingerprintManager.authen...

  • Android-指纹登录

    Android6.0后且硬件支持! 主要功能: 1.实现密码登录和指纹登录相互切换 2.检测设备是否支持指纹验证...

  • iOS 11指纹解锁详解,看一篇就够了

    1.应用场景 指纹解锁、指纹登录、指纹支付 2.注意事项 5S开始才有的指纹识别, 目前绝大部分的设备都可以支持i...

  • iOS-传感器之TouchID

    仿支付宝TouchID登录方法 1.观看一波完,可以看到支付宝的登录流程: (1) 当我们连续三次指纹识别错误后,...

  • BATouchID:git 最全面的支付宝 指纹解锁 和 手势解

    BATouchID 1、功能及简介 1、支付宝 指纹登录 touchID 封装 2、可以自定义 描述文字、取消按钮...

网友评论

      本文标题:Android 指纹登录、支付

      本文链接:https://www.haomeiwen.com/subject/itegrqtx.html