一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

harmony-utils之MD5,MD5工具類(lèi)

童長(zhǎng)老 ? 來(lái)源:jf_14594073 ? 作者:jf_14594073 ? 2025-06-30 16:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

harmony-utils之MD5,MD5工具類(lèi)

harmony-utils 簡(jiǎn)介與說(shuō)明


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

MD5 算法簡(jiǎn)介


MD5(Message-Digest Algorithm 5)是由Ronald Rivest于1991年設(shè)計(jì)的密碼散列函數(shù),可將任意長(zhǎng)度數(shù)據(jù)生成128位(16字節(jié))的固定長(zhǎng)度哈希值。其核心通過(guò)?填充-分塊-循環(huán)壓縮?流程實(shí)現(xiàn):先對(duì)輸入補(bǔ)位至512位倍數(shù),再分塊進(jìn)行4輪非線性運(yùn)算(每輪16次操作),最終輸出唯一性摘要。
該算法曾廣泛用于文件完整性校驗(yàn)(如軟件包校驗(yàn))、密碼存儲(chǔ)及數(shù)字證書(shū)簽名。但因存在碰撞漏洞(可人為構(gòu)造相同哈希的不同數(shù)據(jù)),自2004年被證實(shí)不抗碰撞攻擊后,逐步被SHA-256等更安全算法替代。目前仍見(jiàn)于非敏感場(chǎng)景如緩存標(biāo)識(shí)或數(shù)據(jù)去重。因MD5存在碰撞攻擊風(fēng)險(xiǎn)(王小云團(tuán)隊(duì)2004年破解),金融、政務(wù)等關(guān)鍵領(lǐng)域已禁用,推薦改用SM3/SHA-256。

API方法與使用


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

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

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

let digest3 = MD5.digestSync(str1, 'base64');
LogUtil.error(`摘要,同步2: ${digest3}`);
digestSegment MD5摘要,分段
let str3 = "harmony-utils,一款高效的HarmonyOS工具包,封裝了常用工具類(lèi),提供一系列簡(jiǎn)單易用的方法。幫助開(kāi)發(fā)者快速構(gòu)建鴻蒙應(yīng)用。gitee地址:https://gitee.com/tongyuyan/harmony-utils。github主頁(yè)地址:https://github.com/787107497。";

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

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

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

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

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

let digest3 = MD5.hmacSync(str1, symKey, 'base64');
LogUtil.error(`消息認(rèn)證碼計(jì)算,同步2: ${digest3}`);
hmacSegment 消息認(rèn)證碼計(jì)算,分段
let symKey = CryptoUtil.generateSymKeySync("AES256");
let str3 = "harmony-utils,一款高效的HarmonyOS工具包,封裝了常用工具類(lèi),提供一系列簡(jiǎn)單易用的方法。幫助開(kāi)發(fā)者快速構(gòu)建鴻蒙應(yīng)用。gitee地址:https://gitee.com/tongyuyan/harmony-utils。github主頁(yè)地址:https://github.com/787107497。";

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

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

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

創(chuàng)作不易,請(qǐng)給童長(zhǎng)老點(diǎn)贊

審核編輯 黃宇

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

    關(guān)注

    0

    文章

    30

    瀏覽量

    21098
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    harmony-utilsCacheUtil,緩存工具類(lèi)

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

    harmony-utilsCharUtil,字符工具類(lèi)

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

    harmony-utilsCrashUtil,異常相關(guān)工具類(lèi)

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

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

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

    harmony-utilsDisplayUtil,屏幕相關(guān)工具類(lèi)

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

    harmony-utilsEmitterUtil,Emitter工具類(lèi)

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

    harmony-utilsFileUtil,文件相關(guān)工具類(lèi)

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

    harmony-utilsFormatUtil,格式化工具類(lèi)

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

    harmony-utilsImageUtil,圖片相關(guān)工具類(lèi)

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

    harmony-utilsNumberUtil,Number工具類(lèi)

    harmony-utilsNumberUtil,Number工具類(lèi) harmony-utils 簡(jiǎn)介與說(shuō)明
    的頭像 發(fā)表于 07-03 18:08 ?141次閱讀

    harmony-utilsPreviewUtil,文件預(yù)覽工具類(lèi)

    harmony-utilsPreviewUtil,文件預(yù)覽工具類(lèi) harmony-utils 簡(jiǎn)介與說(shuō)明 [
    的頭像 發(fā)表于 07-03 11:40 ?122次閱讀

    harmony-utilsStrUtil,字符串工具類(lèi)

    harmony-utilsStrUtil,字符串工具類(lèi) harmony-utils 簡(jiǎn)介與說(shuō)明 [ha
    的頭像 發(fā)表于 07-03 11:32 ?98次閱讀

    harmony-utilsTypeUtil,類(lèi)型檢查工具類(lèi)

    harmony-utilsTypeUtil,類(lèi)型檢查工具類(lèi) harmony-utils 簡(jiǎn)介與說(shuō)明 [
    的頭像 發(fā)表于 06-30 17:35 ?114次閱讀

    harmony-utilsDateUtil,日期工具類(lèi)

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

    PostgreSQL將不再支持MD5密碼

    根據(jù) PostgreSQL 代碼倉(cāng)庫(kù)的最新動(dòng)態(tài),近日有維護(hù)者提交了“棄用 MD5 密碼支持”的 commit。 該維護(hù)者指出,MD5 被認(rèn)為不適合用作加密散列算法已有一段時(shí)間。 此外
    的頭像 發(fā)表于 12-10 16:14 ?510次閱讀