Android应用实现指纹登录

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应用实现指纹登录_第1张图片
Android 指纹解密.png

、、、


Android应用实现指纹登录_第2张图片
Android指纹加密.png

你可能感兴趣的:(Android应用实现指纹登录)