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

 

posted on 2012-08-02 11:47  jinzhenshui  阅读(5245)  评论(0编辑  收藏  举报