HashBytes (Transact-SQL)

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

主题链接图标Transact-SQL 语法约定

语法

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

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

参数

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

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

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

返回值

varbinary(最大为 8000 个字节)

注释

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

示例

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

DECLARE @HashThis nvarchar(4000);
SELECT @HashThis = CONVERT(nvarchar(4000),'dslfdkjLK85kldhnv$n000#knf');
SELECT HashBytes('SHA1', @HashThis);
GO

请参阅

概念