本文提供完整的T-SQL純量函數實現MD5雜湊演算法,包含三個核心函數:MD5_ConvertToWordArray、MD5_WordToHex、MD5,以及輔助函數MD5_LShift、MD5_RShift、MD5_AddUnsigned、MD5_FF/GG/HH/II四輪非線性函數。程式碼經測試向量驗證,輸出符合RFC 1321標準。
@twordArray。UNICODE(SUBSTRING(...))逐字元處理,支援雙位元組字符(如中文)。LShift/RShift模擬無號位移。MD5_AddUnsigned防止溢位截斷。MD5('') = d41d8cd98f00b204e9800998ecf8427e
MD5('a') = 0cc175b9c0f1b6a831c399e269772661
MD5('abc') = 900150983cd24fb0d6963f7d28e17f72
MD5('message digest') = f96b697d7cb7938d525a2f31aaf161d0
MD5('我') = a31d0f25367ebe046897f8a939ca4a9f
適用於SQL Server 2000/2005/2008無CLR環境下的資料完整性校驗、密碼雜湊(建議加鹽)、ETL檢核碼產生。效能較CLR實現慢,大量資料建議改用HASHBYTES('MD5', ...)(SQL 2005+內建)。