SQL _Server实现字符串MD5加密

SUBSTRING(SYS.FN_SQLVARBASETOSTR(HASHBYTES('MD5',CONCAT('abc','sdj'))),3,32)

字符串 sbdsdj MD5加密后为

SQL _Server实现字符串MD5加密_第1张图片 

函数 HashBytes ( '<algorithm>', { @input | 'input' } )

<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1

algorithm 标识用于对输入执行哈希操作的哈希算法。这是必选参数,无默认值。需要使用单引号

@input 指定包含要对其执行哈希操作的数据的变量。@input 的数据类型为 varchar、nvarchar 或 varbinary(如果是char 或nchar会报错)

input 指定要执行哈希操作的字符串

返回值 varbinary(最大为8000个字节)

允许的输入值限制为 8000 个字节。输出符合算法标准:MD2、MD4 和 MD5 为 128 位(即 16 个字节);SHA 和 SHA1 为 160 位(即 20 个字节)

HashBytes生成的结果为:0x45E5A2F3E816457CE47AF8E04C1E3C71,16进制的数值,去掉“0x”转换为小写值就完全与MD5值吻合了,在此需要用另一个函数(sys.fn_sqlvarbasetostr)把varbinary的值转换为varchar类型

SUBSTRING(SYS.FN_SQLVARBASETOSTR(HASHBYTES('MD5',CONCAT('abc','sdj'))),3,32)

结果

你可能感兴趣的:(sqlserver,MD5加密)