首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

MD5 演算法 T-SQL 實作(完整版):從輔助函數到主雜湊

     編輯:關於SqlServer

本文合併前兩部分,提供從常數表、位元運算、輪函數到主 MD5 雜湊函數的完整 T-SQL 部署腳本,可直接在 SQL Server 2000 執行建立所有物件。

腳本結構

  1. 刪除既有同名函數(IF EXISTS ... DROP FUNCTION)。
  2. 建立常數表函數 MD5_m_OnBits、MD5_m_2Power。
  3. 建立位元運算 MD5_LShift、MD5_RShift、MD5_RotateLeft。
  4. 建立無號加法 MD5_AddUnsigned。
  5. 建立四輪邏輯函數 MD5_F/G/H/I。
  6. 建立輪函數 MD5_FF/GG/HH/II。
  7. 建立字串轉字陣列 MD5_ConvertToWordArray。
  8. 建立字轉十六進位 MD5_WordToHex。
  9. 建立主函數 MD5(@sOrigMess NVARCHAR(4000)) RETURNS CHAR(32)。
  10. 附標準測試向量驗證。

部署與使用

-- 執行完整腳本後
SELECT dbo.MD5(N'測試字串') -- 回傳 32 字元小寫十六進位

所有函數均為 WITH ENCRYPTION,適合生產環境部署。測試向量涵蓋 ASCII、長字串、中文 Unicode,確保正確性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved