| getSecureObjectSignature() | 在认证成功后,可通过该方法获取已授权的Signature对象。如果未设置过Signature对象,则返回null。 |
| setSecureObjectCipher(Cipher cipher) | 设置需要关联认证结果的Cipher对象,在进行认证操作后,如果认证成功则Cipher对象被授权可以使用。设置前Cipher对象需要正确初始化,且配置为认证成功才能使用。 |
| getSecureObjectCipher() | 在认证成功后,可通过该方法获取已授权的Cipher对象。如果未设置过Cipher对象,则返回null。 |
| setSecureObjectMac(Mac mac) | 设置需要关联认证结果的Mac对象,在进行认证操作后,如果认证成功则Mac对象被授权可以使用。设置前Mac对象需要正确初始化,且配置为认证成功才能使用。 |
| getSecureObjectMac() | 在认证成功后,可通过该方法获取已授权的Mac对象。如果未设置过Mac对象,则返回null。 |

开发步骤

开发前请完成以下准备工作:

  1. 在应用配置权限文件中,增加ohos.permission.ACCESS_BIOMETRIC的权限声明。
  2. 在使用生物特征识别认证能力的代码文件中增加import ohos.biometrics.authentication.BiometricAuthentication。

开发过程:

  1. 获取BiometricAuthentication的单例对象,代码示例如下:
BiometricAuthentication  biometricAuthentication = BiometricAuthentication.getInstance(MainAbility.mAbility);

复制

  1. 检测设备是否具有生物认证能力:

2D人脸识别建议使用SECURE_LEVEL_S2,3D人脸识别建议使用SECURE_LEVEL_S3。代码示例如下:

int retChkAuthAvb = biometricAuthentication.checkAuthenticationAvailability(
    BiometricAuthentication.AuthType.AUTH_TYPE_BIOMETRIC_FACE_ONLY, 
    BiometricAuthentication.SecureLevel.SECURE_LEVEL_S2, true);

复制

  1. (可选)设置需要关联认证结果的Signature对象或Cipher对象或Mac对象,代码示例如下
// 定义一个Signature对象sign;
biometricAuthentication.setSecureObjectSignature(sign);

// 定义一个Cipher对象cipher;
biometricAuthentication.setSecureObjectCipher(cipher);

// 定义一个Mac对象mac;
biometricAuthentication.setSecureObjectMac(mac);

复制

  1. 在新线程里面执行认证操作,避免阻塞其他操作,代码示例如下:
new Thread(new Runnable() {
    @Override
    public void run() {
        int retExcAuthretExcAuth = biometricAuthentication.execAuthenticationAction( 
            BiometricAuthentication.AuthType.AUTH_TYPE_BIOMETRIC_FACE_ONLY, 
            BiometricAuthentication.SecureLevel.SECURE_LEVEL_S2, true, false, null);
    }
}).start();

复制

  1. 获得认证过程中的提示信息,代码示例如下:
AuthenticationTips tips = biometricAuthentication.getAuthenticationTips();

复制

  1. (可选)认证成功后获取已设置的Signature对象或Cipher对象或Mac对象,代码示例如下:
Signature sign = biometricAuthentication.getSecureObjectSignature();

Cipher cipher = biometricAuthentication.getSecureObjectCipher();

Mac mac = biometricAuthentication.getSecureObjectMac();

复制

  1. 认证过程中取消认证,代码示例如下:
int ret = biometricAuthentication.cancelAuthenticationAction();

最后,为了能让大家更好的去学习提升鸿蒙 (Harmony OS) 开发技术,小编连夜整理了一份30个G纯血版学习资料(含视频电子书学习文档等)以及一份在Github上持续爆火霸榜的《纯血版华为鸿蒙 (Harmony OS)开发手册》(共计890页),希望对大家有所帮助。

纯血版鸿蒙 HarmonyOS 4.0 视频学习资料

需要以上视频学习资料小伙伴

请点击→纯血版全套鸿蒙HarmonyOS学习资料


《纯血版华为鸿蒙 (Harmony OS)开发手册》

这份手册涵盖了当前鸿蒙 (Harmony OS) 开发技术必掌握的核心知识点

纯血版鸿蒙 (Harmony OS)开发手册部分精彩内容

HarmonyOS 概念:

  • 系统定义
  • 技术架构
  • 技术特性
  • 系统安全

如何快速入门?

  • 基本概念
  • 构建第一个ArkTS应用
  • 构建第一个JS应用
  • ……


开发基础知识:

  • 应用基础知识
  • 配置文件
  • 应用数据管理
  • 应用安全管理
  • 应用隐私保护

学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐