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.
21220 次
6 に答える
7
2005 年以降では、 HashBytes()関数を呼び出すことができます。2000 年には、最も近いのはpwdencrypt/pwdcompareですが、これらの関数には独自の落とし穴があります (リンクのコメントを読んでください)。
于 2009-05-26T13:19:32.153 に答える
4
このコードを使用していますが、言語固有のものではありません。
于 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 に答える