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 (не более 8 000 байт)

Замечания

Допустимый размер входных значений ограничен 8000 байт. Выходные данные соответствуют стандарту алгоритма: 128 бит (16 байт) для MD2, MD4 и MD5; 160 бит (20 байт) для SHA и SHA1.

Примеры

В следующем примере возвращается SHA1 хэш данных nvarchar, хранящихся в переменной @HashThis.

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

См. также

Основные понятия