MSSQL MD5 function – TSQL MD5 Function

今天想為自己建立個一個資料上加入一個MD5 的Field
主要是用來把資料儲存得比較安全的
回想之前用MySQL 有一個方法十分簡單..
只要用

[sql]
SELECT MD5(‘想MD5的文字’)
[/sql]

便可以
MySQL MD5 Function Demo
誰不知..MSSQL 沒有一個Built-in的功能來做MD5 encrypt文字這個動作
之後做了一段資料research後便自己做了一個MD5 的功能給MSSQL用了
這個function 用了 HashBytes 把文字轉成Hash Bytes
之後用 sys.fn_sqlvarbasetostrBytes轉成文字

詳情可以參考以下URL
HashBytes (Transact-SQL)

[sql]
— Author: [Share Chi Wai]
— Create date: [2011-09-22]
— Description: [This function is used to generate MD5 value of the Input String]
— =============================================
CREATE FUNCTION [dbo].[GenerateMD5Value]
(
— Add the parameters for the function here
@ValueToEncrypt VARCHAR(500) =”
)
RETURNS VARCHAR(32)
AS
BEGIN
— Declare the return variable here
DECLARE @MD5String VARCHAR(50)

— Add the T-SQL statements to compute the return value here
SET @MD5String = RIGHT(sys.fn_sqlvarbasetostr(HashBytes(‘MD5’, @ValueToEncrypt)),32)

— Return the result of the function
RETURN @MD5String

END
[/sql]

我們可以用以下方法執行這個功能

[sql]
SELECT dbo.GenerateMD5Value(‘Share Chi Wai’) AS [MD5 String]
[/sql]

TSQL MD5 Function Demo

Hope you find it useful

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.