HashBytes(Transact-SQL)

时间:2023-03-09 00:19:01
HashBytes(Transact-SQL)

返回其输入的MD2、MD4、MD5、SHA或SHA1哈希值

语法

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

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

参数

'<algorithm>'

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

@input

指定包含要对其执行哈希操作的数据的变量。@input的数据类型为varchar、nvarchar或varbinary。

'input'

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

返回值

varbinary(最大为8000个字节)

注释

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

SHA和SHA1为160位(即20个字节)

示例

一下实例返回变量@HashThis中存储的nvarchar数据的SHA1哈希值。

DECLARE @HashThis nvarchar(4000);

SELECT @HashThis=CONVERT(nvarchar(4000),'dslfdkjLK85k');

SELECT HashBytes('SHA1',@HashThis);

GO