美文网首页登录Android
Android应用实现指纹登录

Android应用实现指纹登录

作者: 风吹过山 | 来源:发表于2018-01-12 12:56 被阅读185次

    Android指纹是在API23版本之后加入的,以及大多数的Android6.0系统都有硬件支持。

    一:指纹Demo:
    1、:检测AndroidAPI是否大于等于23
    2、:检测硬件是否支持
    3、:设备是否录入指纹
    4、:开始认证
    5、:处理认证结果

    二:服务器交互
    1、数据上传
    2、登录验证
    3、加密处理

    一:实现指纹demo
    实现指纹demo 很简单。理解并调用以下API就可以实现。

    相关类:
    1.FingerprintManager:主要用来协调管理和访问指纹识别硬件设备
    2.FingerprintManager.AuthenticationCallback这个一个callback接口,当指纹认证后系统会回调这个接口通知app认证的结果是什么
    3.FingerprintManager.AuthenticationResult这是一个表示认证结果的类,会在回调接口中以参数给出
    4.FingerprintManager.CryptoObject这是一个加密的对象类,用来保证认证的安全性

    开始扫描用户按下的指纹
    调用authenticate()函数;

    @RequiresPermission(USE_FINGERPRINT) //限定需要权限
    public void authenticate(
    @Nullable CryptoObject crypto,             //加密类对象;
    @Nullable CancellationSignal cancel,       //用来取消当前扫描操作(30s才超时);
    int flags,                                 //标识位,暂时设置为0即可;
    @NonNull AuthenticationCallback callback,  //认证结果回调;
    @Nullable Handler handler)                  //使用handler的Looper处理指纹识别硬件的信息;为null,则使用app的main Looper处理;
    

    大多数Demo中使用指纹都是请求认证指纹,获得结果,根据结果做下一步的工作。

    不多说直接上代码吧!

    MainActivity extends FingerprintManager.AuthenticationCallback {
    
    }
    
    

    画重点:
    CrytoObject对象是基于Java加密API的一个包装类,
    并且被FingerprintManager用来保证认证结果的完整性。通常来讲,用来加密指纹扫描结果的机制就是一个Javax.Crypto.Cipher对象。Cipher对象本身会使用由应用调用Android keystore(Android提供的一个用来保存 Key-Value的文件)的API产生一个key来实现上面说道的保护功能。


    Android 指纹解密.png

    、、、


    Android指纹加密.png

    相关文章

      网友评论

        本文标题:Android应用实现指纹登录

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