Is it possible to calculate MD5 hash directly in T-SQL language?

21,217

Solution 1

It is using this code, but it is not native to the language.

http://www.codeproject.com/KB/database/xp_md5.aspx

Solution 2

In 2005 and later, you can call the HashBytes() function. In 2000, the closest thing is pwdencrypt/pwdcompare, though those functions have their own pitfalls (read the comments of the link).

Solution 3

No, there is no native TSQL command to generate MD5 hash's in SQL Server 2000.

In 2005 and above you can use the HashBytes function: http://msdn.microsoft.com/en-us/library/ms174415.aspx

Solution 4

Please see below example/solution using 2008

DECLARE @HashThis nvarchar(4000);
SELECT @HashThis = CONVERT(nvarchar(4000),'dslfdkjLK85kldhnv$n000#knf');
SELECT HashBytes('md5', @HashThis);
GO
Share:
21,217
M.Turrini
Author by

M.Turrini

Updated on July 09, 2022

Comments

  • M.Turrini
    M.Turrini almost 2 years

    I need to hash (MD5) all the password in our Sql Server 2000 database. I can easily generate a C#/VB.NET program to convert (hash) all the passwords, but I was wondering (more for my education than for a real compelling need) if it was possible to calculate MD5 hash directly in T-SQL.
    Thanks to anyone who will answer.

  • M.Turrini
    M.Turrini almost 15 years
    Thank you very much. I hoped to find a way to do it directly with SQL statements, but this is good too!
  • M.Turrini
    M.Turrini almost 15 years
    Thank you very much for your kind reply. At the end I choose Daniel's answer because I was looking for MD5 hashing, but your one came really close and the suggestion about pwdencryt/pwdcompare made me learn something really interesting.
  • M.Turrini
    M.Turrini almost 15 years
    Even though I chose another answer, I anyway wanted to thank you very much for your reply.