Export (0) Print
Expand All
Collapse the table of content
Expand the table of content
Expand Minimize


Returns the MD2, MD4, MD5, SHA, or SHA1 hash of its input.

Topic link iconTransact-SQL Syntax Conventions

HashBytes ('<algorithm>', { @input | 'input' } )<algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1


Identifies the hashing algorithm to be used to hash the input. This is a required argument with no default. The single quotation marks are required.


Specifies a variable containing the data to be hashed. @input is varchar, nvarchar, or varbinary.


Specifies a string to be hashed.

varbinary (maximum 8000 bytes)

Allowed input values are limited to 8000 bytes. The output conforms to the algorithm standard: 128 bits (16 bytes) for MD2, MD4, and MD5; 160 bits (20 bytes) for SHA and SHA1.

The following example returns the SHA1 hash of the nvarchar data stored in variable @HashThis.

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

Community Additions

© 2016 Microsoft