ArkTS调用鸿蒙加密算法库框架经验 原创
::: hljs-center
ArkTS调用鸿蒙加密算法库框架经验
:::
1、前言
为实现鸿蒙原生态ArkTS与科大讯飞语音功能的调用,使用到了鸿蒙加密算法库框架,花了1天时间来踩坑,谈一点自我使用过程中的感受,以及个人结合以前开发习惯进行封装的,实现了ArkTS调用MD5算法加密,ArkTS调用HMAC-SHA256算法进行签名的实战样例。
2、总体感受
主要感受有两点:
一是鸿蒙加密算法库框架非常强大,提供了可与javax.crypto包相媲美,甚至更为强大的加密算法库框架。
二是强大的加密算法库框架,对开发人员的友好程度还比较低,入门门槛比较高。作为一个多年Java开发经验的老鸟,属于比较自信的那种,遇到了鸿蒙加密算法库框架,也花了1天时间才整明白。网上资料极少,其他菜鸟或小白估计哭晕在厕所里了。
鸿蒙加密算法库框架API地址:
https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-cryptoframework-0000001477981409-V3
鸿蒙加密算法库框架开发指南地址:
https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/cryptoframework-guidelines-0000001544703861-V3
鸿蒙通用密钥库系统地址:
https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-huks-0000001427902680-V3
鸿蒙提供了几乎现有流行的加密算法和通用密钥库的调用实现API。基本上能够用来解决了大多数实战中遇到的加密、签名、密钥生成验证等场景。
由于使用JS语言来进行编程,所以这些API的调用与Java等传统的面向过程的调用方法很大不同,使用起来也很不习惯,需要进行二次封装,方能满足程序的可读性要求和使用习惯。
3、ArkTS调用HMAC-SHA256算法实例
目标是实现鸿蒙调用科大讯飞的语音听写流式接口,用于1分钟内的即时语音转文字技术,支持实时返回识别结果,达到一边上传音频一边获得识别文本的效果。
接口规范地址:
https://www.xfyun.cn/doc/asr/voicedictation/API.html
该接口的鉴权采用的是加密算法(仅支持hmac-sha256)
头部引入:
import cryptoFramework from ‘@ohos.security.cryptoFramework’;
import util from ‘@ohos.util’;