
认识 Android-Goldfinger让 Android 生物识别认证不再痛苦的终极开源库【免费下载链接】Android-GoldfingerAndroid library to simplify Biometric authentication implementation.项目地址: https://gitcode.com/gh_mirrors/an/Android-Goldfinger说到Android 生物识别认证很多开发者的第一反应不是方便而是麻烦。要处理FingerprintManager与BiometricPrompt的版本差异、要区分指纹和面部等不同认证方式、还要自己封装加解密逻辑……每一步都容易踩坑。今天要介绍的Android-Goldfinger就是一个专门用来简化Android 生物识别认证实现的开源库它把系统 API 的复杂细节统统封装起来让你几行代码就能完成认证、加密与解密。什么是 Android-GoldfingerAndroid-Goldfinger 是一个基于androidx.biometric的 Android 库核心目标只有一句话简化生物识别认证的实现。它由 Infinum 团队维护底层封装了BiometricPrompt和BiometricManager向上提供一套极其简洁的接口同时还内置了加密/解密能力非常适合做指纹登录、支付确认、敏感数据保护等场景。它在内部做了三件关键的事✅ 自动处理系统版本差异Android 6.0 及以上使用真实实现以下自动降级为空实现GoldfingerMock✅ 封装了Cipher、Mac、Signature三种CryptoObject的创建与使用✅ 提供统一回调与清晰的结果类型告别繁琐的状态判断为什么说它让生物识别不再痛苦原生实现生物识别认证你需要面对这些痛点API 碎片化FingerprintManagerAPI 23和BiometricPromptandroidx并存逻辑要写两套CryptoObject 创建繁琐Cipher的初始化、IV 的存取、KeyStore 的配置任何一个细节出错都会导致认证失败结果回调混乱认证成功、失败、取消、锁定等各种回调分散在不同位置Android-Goldfinger 把这些痛苦全部吸收掉了。你只需要关心三件事能不能认证、发起认证、拿到结果。三步快速集成 Android 生物识别认证第 1 步添加依赖在项目的build.gradle中加入 Maven Central 仓库和依赖implementation com.infinum:goldfinger:2.2.0第 2 步初始化与前置检查Goldfinger goldfinger new Goldfinger.Builder(context).build(); if (goldfinger.canAuthenticate(BiometricManager.Authenticators.BIOMETRIC_WEAK)) { // 设备支持生物识别可以发起认证 }canAuthenticate会帮你检查硬件是否存在、是否已录入生物特征相当于把所有前置条件一次性打包处理。第 3 步发起认证Goldfinger.PromptParams params new Goldfinger.PromptParams.Builder(activity) .title(指纹登录) .negativeButtonText(取消) .description(请验证指纹以继续) .build(); goldfinger.authenticate(params, new Goldfinger.Callback() { Override public void onError(NonNull Exception e) { // 发生严重错误 } Override public void onResult(NonNull Goldfinger.Result result) { // 获取认证结果 } });不止认证自带加密与解密的指纹保险箱这是 Android-Goldfinger 最亮眼的功能。它不止能做认证还能在认证成功后自动完成数据的加密与解密。典型场景是指纹自动登录// 加密保存敏感数据如 PIN 码 goldfinger.encrypt(params, fp_pin, 123456, callback); // 解密认证通过后还原数据 goldfinger.decrypt(params, fp_pin, encryptedPin, callback);库内部使用AesCipherFactory创建Cipher用Base64CipherCrypter完成加解密密钥与 KeyStore 的绑定关系也全部替你处理好。这意味着你的敏感数据永远不会以明文形式落盘即使数据库被拖走也无法还原。在 example/src/main/java/co/infinum/example/LoginActivity.java 中可以看到完整的指纹登录示例实现。响应式编程RxJava 模块同样好用如果你项目中已经使用了 RxJavaAndroid-Goldfinger 还提供了独立的 Rx 模块让认证变成优雅的响应式流implementation com.infinum:goldfinger-rx:2.2.0RxGoldfinger goldfinger new RxGoldfinger.Builder(context).build(); goldfinger.authenticate(params) .subscribe(result - { // 处理认证结果 }, throwable - { // 处理错误 });Rx 模块的接口定义在 rx/src/main/java/co/infinum/goldfinger/rx/RxGoldfinger.java底层实现RxGoldfingerImpl则通过Observable.create将回调包装为流式数据与现有的 RxJava 架构无缝衔接。高度可定制满足你的任何加密需求默认实现已经很好用但 Android-Goldfinger 也给了你充分的自定义空间。Goldfinger.Builder支持替换以下组件组件作用默认实现cipherFactory创建用于加解密的CipherAesCipherFactorycipherCrypter执行数据加解密Base64CipherCryptermacFactory/macCrypter使用 HMAC 认证无signatureFactory/signatureCrypter使用签名认证无logEnabled(true)开启调试日志默认关闭例如使用 Mac 作为认证方式时只需要保证 Factory 和 Crypter 成对提供即可new Goldfinger.Builder(context) .logEnabled(true) .macFactory(myMacFactory) .macCrypter(myMacCrypter) .build();需要注意的是Builder会校验 Factory 与 Crypter 的配对关系只提供其中一个会直接抛出异常从源头上避免配置错误。相关的核心接口都集中在 core/src/main/java/co/infinum/goldfinger/Goldfinger.java 中包括Builder、PromptParams、Callback、Result等核心类。清晰的结果模型一眼看懂认证状态认证结果被封装为Goldfinger.Result包含三个维度TypeSUCCESS成功、INFO认证进行中、ERROR失败Reason详细原因如USER_CANCELED用户取消、LOCKOUT尝试次数过多被锁定、AUTHENTICATION_SUCCESS认证成功等value加解密操作时返回的数据这种设计让你处理各种状态时思路非常清晰不用担心遗漏某个系统错误码。项目结构与源码导读如果你想深入了解实现原理源码组织得相当清晰核心库位于 core/src/main/java/co/infinum/goldfinger/包含Goldfinger接口、GoldfingerImpl实现、GoldfingerMock空实现、各类异常与工具类加密相关代码在 core/src/main/java/co/infinum/goldfinger/crypto/包括CipherFactory、CipherCrypter、MacFactory、SignatureFactory等接口及其默认实现RxJava 模块在 rx/src/main/java/co/infinum/goldfinger/rx/完整示例工程在 example/src/main/java/co/infinum/example/包含登录、支付、设置等多个实战场景结语对于想要快速集成Android 生物识别认证的开发者来说Android-Goldfinger 是一个省心省力的选择。它用极简的 API 封装了系统 API 的复杂性内置加密解密能力还提供了 RxJava 支持堪称生物识别集成领域的终极工具。如果你正在开发需要指纹登录或支付确认功能的 App不妨通过git clone https://gitcode.com/gh_mirrors/an/Android-Goldfinger拉取源码亲手体验一下它的便捷之处。需要提醒的是该项目目前已标记为 Deprecated 状态不再接收更新但其设计思路和简洁 API 依然非常值得学习与参考。【免费下载链接】Android-GoldfingerAndroid library to simplify Biometric authentication implementation.项目地址: https://gitcode.com/gh_mirrors/an/Android-Goldfinger创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考