日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32 基础系列教程 47 - MD5

發布時間:2025/4/5 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32 基础系列教程 47 - MD5 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

??? MD5消息摘要算法(英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個128位(16字節)的散列值(hash value),用于確保信息傳輸完整一致。MD5由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計,于1992年公開,用以取代MD4算法。1991年,Rivest開發出技術上更為趨近成熟的md5算法。它在MD4的基礎上增加了"安全-帶子"(safety-belts)的概念。雖然MD5比MD4復雜度大一些,但卻更為安全。這個算法很明顯的由四個和MD4設計有少許不同的步驟組成。在MD5算法中,信息-摘要的大小和填充的必要條件與MD4完全相同。Den boer和Bosselaers曾發現MD5算法中的假沖突(pseudo-collisions),但除此之外就沒有其他被發現的加密后結果了。

目前MD5廣泛應用于一致性驗證同,數字簽名,安全訪問認證等用途

對MD5算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理后,算法的輸出由四個32位分組組成,將這四個32位分組級聯后將生成一個128位散列值。?總體流程如下圖所示, 表示第i個分組,每次的運算都由前一輪的128位結果值和第i塊512bit值進行運算:

好了,下面開始進入正題。

?

?

示例詳解

基于硬件平臺: 正點源子的stm32f4 探索者開發板,MCU 的型號是?STM32F4ZET6, 使用stm32cubemx 工具自動產生的配置工程,使用KEIL5編譯代碼。本示例所用的開發板及部分原理圖:

?

  • 關于CUBEMX工具及KEIL工具的操作將不再細講,如果還有不熟悉的可以查看之前的教程文檔。下面直接介紹工程配置:
  • ?

  • 系統時鐘樹
  • ?

  • 串口配置(用于程序調試)
  • ?

  • RCC配置
  • SYS配置
  • ?

  • 引腳配置,用到引腳極少
  • 堆棧配置(也可保持默認):
  • ?

  • 工程代碼
  • 將事先準備好的MD5.c 文件加入工程,并將MD5.h文件放到工程INC文件夾下,這些文件可以在Lwip協議棧中提取,當然百度也能百度得到:
  • ?

  • 在main.c 中main函數中USER CODE BEGIN Includes、 USER CODE1、USER CODE 2, USER CODE 4 區域加入如下圖所示代碼:
  • ? ?

    ?

    ?

    ?

    c) 編譯工程,調試程序, (注:在使用探索者F4調試時,下載或仿真調試時先不要PC串口工具連接上開發板的USB_232接口,有可能導致程序運行不了--boot0引腳電平不對,可以先跑起來再在PC串口工具上連接相應端口!!,可按下面的具體操作步驟來操作—>>? )

    ?

    串口已打開,程序全速運行(F5或單擊全速運行圖標)相看運行結果:

    ?

    這個時候可以在串口中看到如下程序運行結果:

    到此本次的MD5實驗就順利完成了,從本次實驗可以看到,MD5的算法使用還是比較簡單的,只需用到MD5Init,MD5Update和MD5Final三個接口即可,簡單方便。其中MD5Init為初始化接口,MD5Update為計算接口,MD5Final為獲得結果接口。作為MD5的使用,會用這三個接口即可。該工程算法可直接移植到M0,M3等其它內核心MCU同樣適用。

    ?

    OK,本期實驗完成!下期見!同時如果大家有什么疑問或是有想了解的其它內容,也歡迎大家留言!!最后喜歡這個公眾號的同學們記得加關注了,會有不定期技術干貨推出!!

    ?

    文中源碼資料下載,在公眾號里給十三發消息:

    下載|STM32基礎系列教程47

    ?

    關注十三公眾號

    ?

    總結

    以上是生活随笔為你收集整理的STM32 基础系列教程 47 - MD5的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。