SQL Server 2005 MD5 函数

------------------------------------------
--     SQL Server 2005 MD5 函数 
------------------------------------------
IF OBJECT_ID('dbo.fnCreateMD5') IS NOT NULL
 DROP FUNCTION dbo.fnCreateMD5;
GO

CREATE FUNCTION dbo.fnCreateMD5
 (
  @pmInputStr  VARCHAR(MAX), --要进行MD5的原字符串
  @pmReturnLen INT  =32        --返回生成MD5串后所要截取的长度
 )
RETURNS VARCHAR(32)      --MD5转换为字符串后为32位
WITH RETURNS NULL ON NULL INPUT
AS
BEGIN
 DECLARE @ReturnMD5 NVARCHAR(32)
 SELECT @ReturnMD5=SUBSTRING(CONVERT(NVARCHAR(34),sys.fn_VarBinToHexStr(HashBytes('MD5',@pmInputStr))),3,@pmReturnLen);
 RETURN @ReturnMD5
END;

GO

-- Input Jim   Return d54b3c8fcd5ba07e47b400e69a287966
SELECT dbo.fnCreateMD5('Jim',Default) AS MD5;

--Input Jim,12 Return d54b3c8fcd5b
SELECT dbo.fnCreateMD5('Jim',12) AS MD5;


/*
 HashBytes 函数:
  返回输入的MD2、MD4、MD5、SHA 或 SHA1哈希值
  语法:HashByts('',{@Input|'Input})
    :::=MD2|MD4|MD5|SHA|SHA1
          :@input|'input' 指定包含要对其执行哈希操作的数据变量|字符串 其数据类习为:Varchar  NVARCHAR  VARBINARY
        返回值: varbinary   最大为8000个字符

 sys.fn_VarBinToHexStr 函数:
  系统内置函数,转换varbinary 可变长度二进制型数据到 16 进制字符串

*/

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15042150/viewspace-616557/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15042150/viewspace-616557/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值