8

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.

4

6 に答える 6

7

2005 年以降では、 HashBytes()関数を呼び出すことができます。2000 年には、最も近いのはpwdencrypt/pwdcompareですが、これらの関数には独自の落とし穴があります (リンクのコメントを読んでください)。

于 2009-05-26T13:19:32.153 に答える
4

このコードを使用していますが、言語固有のものではありません。

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

于 2009-05-26T13:18:19.113 に答える
2

いいえ、SQL Server 2000 には MD5 ハッシュを生成するためのネイティブ TSQL コマンドはありません。

2005 年以降では、関数を使用できますHashBytes: http://msdn.microsoft.com/en-us/library/ms174415.aspx

于 2009-05-26T13:22:13.770 に答える
1

2008年を使用した以下の例/​​ソリューションを参照してください

DECLARE @HashThis nvarchar(4000);
SELECT @HashThis = CONVERT(nvarchar(4000),'dslfdkjLK85kldhnv$n000#knf');
SELECT HashBytes('md5', @HashThis);
GO
于 2011-10-31T20:57:59.753 に答える
-1

記録のために:

UPDATE T_WHATEVER_YOUR_TABLE_NAME_IS 
    SET PREFIX_Hash = LOWER(SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes('MD5', LOWER('a-string-with-utf8-encoded-international-text'))), 3, 32) ) 
于 2012-02-21T14:13:56.163 に答える