Sqlserver:內置加密算法函數:hashbytes 創建md5函數。強烈推薦!!!!!!!!!!


Sqlserver中很多時候需要對數據進行加密、或校驗。自Sqlserver 2000 時代起,網絡上流傳着一個MD5的加密函數,說實在的,很復雜,很負責!

但最重要的是,該函數在sqlserver中的執行效率太低!適應不了大量數據的處理。

 

我曾想過很多方法試着解決:C語言編寫擴展存儲過程、.NET程序集,雖然最后都可以解決問題,但終歸有些繁瑣,不是正經的原生方式。

Sqlserver2005 都出了這么久了,偶就沒有發現這個hashbytes函數可以構建原生的MD5函數,唉!汗顏!!!!

謹記、謹記、謹記、謹記

代碼如下:

--創建md5函數
CREATE FUNCTION [dbo].[MD5](@src varchar(255) )
RETURNS varchar(255)
AS
BEGIN
    DECLARE @md5 varchar(34)
    SET @md5 = sys.fn_VarBinToHexStr(hashbytes('MD5', @src));
    --RETURN SUBSTRING(@md5,11,16)   --16位
    RETURN SUBSTRING(@md5,3,32)    --32位
END

GO

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM