HashBytes (Transact-SQL)

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


  • '<algorithm>'
    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.
  • **@input**
    Specifies a variable containing the data to be hashed. **@input** is varchar, nvarchar, or varbinary.
  • 'input'
    Specifies a string to be hashed.

Return Value

varbinary (maximum 8000 bytes)


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

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

See Also

Other Resources

Choosing an Encryption Algorithm

Help and Information

Getting SQL Server 2005 Assistance