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

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

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

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

harmony-utils之SM3,SM3工具類

童長老 ? 2025-06-28 18:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

harmony-utils之SM3,SM3工具類

harmony-utils 簡介與說明


harmony-utils 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實用工具類,致力于助力開發(fā)者迅速構(gòu)建鴻蒙應(yīng)用。其封裝的工具涵蓋了APP、設(shè)備、屏幕、授權(quán)、通知、線程間通信、彈框、吐司、生物認(rèn)證、用戶首選項、拍照、相冊、掃碼、文件、日志,異常捕獲、字符、字符串、數(shù)字、集合、日期、隨機、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);
 }

SM3 算法簡介


SM3是中國國家密碼管理局2010年發(fā)布的商用密碼雜湊算法標(biāo)準(zhǔn)(GM/T 0004-2012),輸出256位固定長度哈希值,安全強度與SHA-256相當(dāng)。該算法采用Merkle-Damgard結(jié)構(gòu)設(shè)計,通過消息填充、分組擴展及32輪迭代壓縮實現(xiàn)數(shù)據(jù)混淆,具備抗碰撞攻擊和原像攻擊能力。作為國產(chǎn)密碼體系核心組件,SM3廣泛應(yīng)用于數(shù)字簽名、電子認(rèn)證、金融支付及物聯(lián)網(wǎng)安全等領(lǐng)域,并已納入ISO/IEC 10118-3國際標(biāo)準(zhǔn)。其高效性適配普通計算機與嵌入式設(shè)備,支撐了30余項國內(nèi)密碼行業(yè)標(biāo)準(zhǔn)的制定。

SM3 應(yīng)用場景


數(shù)字簽名:與SM2非對稱算法配合使用,對電子合同、政務(wù)文件等生成哈希摘要并簽名,確保數(shù)據(jù)完整性和不可抵賴性;
金融安全:用于網(wǎng)上銀行交易驗證、支付報文完整性保護(hù),國內(nèi)超80%金融機構(gòu)在關(guān)鍵系統(tǒng)中部署該算法;
物聯(lián)網(wǎng)認(rèn)證:為智能設(shè)備通信數(shù)據(jù)生成消息認(rèn)證碼(HMAC-SM3),防止工業(yè)級SSD、智能電網(wǎng)等場景的數(shù)據(jù)篡改;
密碼協(xié)議基礎(chǔ):支撐SSL/TLS、VPN等安全協(xié)議的密鑰派生與校驗,滿足國產(chǎn)化替代需求。

API方法與使用


digest SM3摘要
let str1 = "鴻蒙技術(shù)交流QQ群:1029219059";

let digest1 = await SM3.digest(str1);
LogUtil.error(`摘要,異步: ${digest1}`);

let digest2 = SM3.digestSync(str1,'hex');
LogUtil.error(`摘要,同步1: ${digest2}`);

let digest3 = SM3.digestSync(str1, 'base64');
LogUtil.error(`摘要,同步2:  ${digest3}`);
digestSegment SM3分段摘要
let str3 = "harmony-utils,一款高效的HarmonyOS工具包,封裝了常用工具類,提供一系列簡單易用的方法。幫助開發(fā)者快速構(gòu)建鴻蒙應(yīng)用。";

let digest1 = await SM3.digestSegment(str3);
LogUtil.error(`分段摘要,異步: ${digest1}`);

let digest2 = SM3.digestSegmentSync(str3);
LogUtil.error(`分段摘要,同步1: ${digest2}`);

let digest3 = SM3.digestSegmentSync(str3, 'base64', 256);
LogUtil.error(`分段摘要,同步2: ${digest3}`);
hmac SM3消息認(rèn)證碼計算
let str1 = "鴻蒙技術(shù)交流QQ群:1029219059";
let symKey = CryptoUtil.generateSymKeySync("HMAC|SM3");

let digest1 = await SM3.hmac(str1, symKey);
LogUtil.error(`消息認(rèn)證碼計算,異步: ${digest1}`);

let digest2 = SM3.hmacSync(str1, symKey);
LogUtil.error(`消息認(rèn)證碼計算,同步1: ${digest2}`);

let digest3 = SM3.hmacSync(str1, symKey, 'base64');
LogUtil.error(`消息認(rèn)證碼計算,同步2: ${digest3}`);
hmacSegment SM3消息認(rèn)證碼計算,分段
let str2 = "harmony-utils,一款高效的HarmonyOS工具包,封裝了常用工具類,提供一系列簡單易用的方法。幫助開發(fā)者快速構(gòu)建鴻蒙應(yīng)用。";
let symKey = CryptoUtil.generateSymKeySync("HMAC|SM3");

let digest1 = await SM3.hmacSegment(str2, symKey);
LogUtil.error(`分段消息認(rèn)證碼計算,異步: ${digest1}`);

let digest2 = SM3.hmacSegmentSync(str2, symKey);
LogUtil.error(`分段消息認(rèn)證碼計算,同步1: ${digest2}`);

let digest3 = SM3.hmacSegmentSync(str2, symKey, 'hex', 256);
LogUtil.error(`分段消息認(rèn)證碼計算,同步2: ${digest3}`);

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

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

    關(guān)注

    0

    文章

    5

    瀏覽量

    3253
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    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-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-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次閱讀

    harmony-utilsSM2,SM2加解密

    harmony-utilsSM2,SM2加解密 harmony-utils 簡介與說明 [harmon
    的頭像 發(fā)表于 06-30 16:47 ?171次閱讀

    harmony-utilsSM4,SM4加解密

    harmony-utilsSM4,SM4加解密 harmony-utils 簡介與說明 harmony
    的頭像 發(fā)表于 06-28 18:36 ?138次閱讀

    harmony-utilsDateUtil,日期工具

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