99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

harmony-utils之ECDSA,ECDSA工具類

童長老 ? 來源:jf_14594073 ? 作者:jf_14594073 ? 2025-06-30 16:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

harmony-utils之ECDSA,ECDSA工具類

harmony-utils 簡介與說明


[harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實用工具類,致力于助力開發(fā)者迅速構(gòu)建鴻蒙應(yīng)用。其封裝的工具涵蓋了APP、設(shè)備、屏幕、授權(quán)、通知、線程間通信、彈框、吐司、生物認(rèn)證、用戶首選項、拍照、相冊、掃碼、文件、日志、異常捕獲、字符、字符串、數(shù)字、集合、日期、隨機(jī)、base64、加密、解密、JSON等一系列的功能和作,能夠滿足各種不同的開發(fā)需求。
[picker_utils]是harmony-utils拆分出來的一個子庫,包含 PickerUtil、PhotoHelper、ScanUtil。

下載安裝
ohpm i @pura/harmony-utils
ohpm i @pura/picker_utils

//全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
   AppUtil.init(this.context);
 }

ECDSA 算法簡介


ECDSA(橢圓曲線數(shù)字簽名算法)是基于橢圓曲線密碼學(xué)的數(shù)字簽名方案,核心通過橢圓曲線離散對數(shù)問題的難解性保障安全。其原理為:選定橢圓曲線參數(shù)后,生成私鑰 (d) 與公鑰 (Q = d times G)((G) 為曲線基點);簽名時結(jié)合消息哈希值與隨機(jī)數(shù)計算簽名對 ((r, s)),驗證時通過公鑰與簽名還原點坐標(biāo)并比對。

ECDSA 應(yīng)用場景


ECDSA(橢圓曲線數(shù)字簽名算法)基于橢圓曲線離散對數(shù)難題,憑借短密鑰、高安全性和低計算開銷,在多場景中發(fā)揮關(guān)鍵作用。區(qū)塊鏈領(lǐng)域,它用于比特幣、以太坊的交易簽名與地址生成,保障交易不可篡改;網(wǎng)絡(luò)安全方面,支持TLS/SSL證書簽名,降低握手計算開銷,也適用于VPN和物聯(lián)網(wǎng)設(shè)備的身份認(rèn)證。在合規(guī)與資源受限場景,它符合國際標(biāo)準(zhǔn),用于電子證照等,且適配智能卡、手機(jī)銀行等低算力設(shè)備。與RSA相比,256位ECDSA安全性等效于3072位RSA,簽名數(shù)據(jù)量小、效率高,更適合區(qū)塊鏈、邊緣計算等場景。雖面臨量子計算威脅,但其仍是后量子密碼過渡前的主流簽名方案,在數(shù)字簽名領(lǐng)域占據(jù)重要地位。

API方法與使用


sign 對數(shù)據(jù)進(jìn)行簽名
let keyPair = await CryptoUtil.generateKeyPair('ECC256'); //生成密鑰

let str1 = "鴻蒙技術(shù)交流QQ群:1029219059";
let dataBlob = CryptoHelper.strToDataBlob(str1, 'utf-8');

let signDataBlob = await ECDSA.sign(dataBlob, keyPair.priKey);
let signStr = CryptoHelper.dataBlobToStr(signDataBlob, 'hex');
LogUtil.error(`簽名,異步: ${signStr}`);
verify 對數(shù)據(jù)進(jìn)行驗簽
let keyPair = await CryptoUtil.generateKeyPair('ECC256'); //生成密鑰

let str1 = "鴻蒙技術(shù)交流QQ群:1029219059";
let dataBlob = CryptoHelper.strToDataBlob(str1, 'utf-8');

let signDataBlob = await ECDSA.sign(dataBlob, keyPair.priKey);;
let verify = await ECDSA.verify(dataBlob, signDataBlob, keyPair.pubKey);
LogUtil.error(`驗簽,異步: ${verify}`);
signSegment 對數(shù)據(jù)進(jìn)行分段簽名
let keyPair = await CryptoUtil.generateKeyPair('ECC256'); //生成密鑰

let str3 = "harmony-utils,一款高效的HarmonyOS工具包,封裝了常用工具類,提供一系列簡單易用的方法。幫助開發(fā)者快速構(gòu)建鴻蒙應(yīng)用。gitee地址:https://gitee.com/tongyuyan/harmony-utils。github主頁地址:https://github.com/787107497。";
let data = CryptoHelper.strToUint8Array(str3, 'utf-8');

let signDataBlob = await ECDSA.signSegment(data, keyPair.priKey);
let signStr = CryptoHelper.dataBlobToStr(signDataBlob, 'base64');
LogUtil.error(`分段簽名,異步: ${signStr}`);
verifySegment 對數(shù)據(jù)進(jìn)行分段驗簽
let keyPair = await CryptoUtil.generateKeyPair('ECC256'); //生成密鑰

let str3 = "harmony-utils,一款高效的HarmonyOS工具包,封裝了常用工具類,提供一系列簡單易用的方法。幫助開發(fā)者快速構(gòu)建鴻蒙應(yīng)用。gitee地址:https://gitee.com/tongyuyan/harmony-utils。github主頁地址:https://github.com/787107497。";
let data = CryptoHelper.strToUint8Array(str3, 'utf-8');

let signDataBlob = await ECDSA.signSegment(data, keyPair.priKey);
let verify = await ECDSA.verifySegment(data, signDataBlob, keyPair.pubKey);
LogUtil.error(`分段驗簽,異步: ${verify}`);

創(chuàng)作不易,請給童長老點贊

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ECDSA
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7847
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

    33153
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    harmony-utilsAuthUtil,生物認(rèn)證相關(guān)工具

    # harmony-utilsAuthUtil,生物認(rèn)證相關(guān)工具 ## harmony-utils 簡介與說明 ------[
    的頭像 發(fā)表于 06-26 17:43 ?114次閱讀

    harmony-utilsCacheUtil,緩存工具

    harmony-utilsCacheUtil,緩存工具
    的頭像 發(fā)表于 07-04 16:36 ?126次閱讀

    harmony-utilsCharUtil,字符工具

    harmony-utilsCharUtil,字符工具
    的頭像 發(fā)表于 07-04 16:34 ?129次閱讀

    harmony-utilsCrashUtil,異常相關(guān)工具

    harmony-utilsCrashUtil,異常相關(guān)工具
    的頭像 發(fā)表于 07-04 16:33 ?127次閱讀

    harmony-utilsDateUtil,日期工具

    harmony-utilsDateUtil,日期工具
    的頭像 發(fā)表于 06-25 22:15 ?62次閱讀

    harmony-utilsDeviceUtil,設(shè)備相關(guān)工具

    harmony-utilsDeviceUtil,設(shè)備相關(guān)工具
    的頭像 發(fā)表于 07-03 18:27 ?164次閱讀

    harmony-utilsDisplayUtil,屏幕相關(guān)工具

    harmony-utilsDisplayUtil,屏幕相關(guān)工具
    的頭像 發(fā)表于 07-03 18:26 ?143次閱讀

    harmony-utilsEmitterUtil,Emitter工具

    harmony-utilsEmitterUtil,Emitter工具
    的頭像 發(fā)表于 07-03 18:24 ?144次閱讀

    harmony-utilsFileUtil,文件相關(guān)工具

    harmony-utilsFileUtil,文件相關(guān)工具
    的頭像 發(fā)表于 07-03 18:23 ?140次閱讀

    harmony-utilsFormatUtil,格式化工具

    harmony-utilsFormatUtil,格式化工具
    的頭像 發(fā)表于 07-03 18:22 ?144次閱讀

    harmony-utilsImageUtil,圖片相關(guān)工具

    harmony-utilsImageUtil,圖片相關(guān)工具
    的頭像 發(fā)表于 07-03 18:22 ?175次閱讀

    harmony-utilsNumberUtil,Number工具

    harmony-utilsNumberUtil,Number工具 harmony-utils 簡介與說明
    的頭像 發(fā)表于 07-03 18:08 ?147次閱讀

    harmony-utilsPreviewUtil,文件預(yù)覽工具

    harmony-utilsPreviewUtil,文件預(yù)覽工具 harmony-utils 簡介與說明 [
    的頭像 發(fā)表于 07-03 11:40 ?125次閱讀

    harmony-utilsStrUtil,字符串工具

    harmony-utilsStrUtil,字符串工具 harmony-utils 簡介與說明 [ha
    的頭像 發(fā)表于 07-03 11:32 ?104次閱讀

    harmony-utilsTypeUtil,類型檢查工具

    harmony-utilsTypeUtil,類型檢查工具 harmony-utils 簡介與說明 [
    的頭像 發(fā)表于 06-30 17:35 ?116次閱讀