2010-05-05 93 views
5

我需要在SQL Server 2000數據庫中存儲密碼。信息並不重要,但我真的不想以明文形式存儲密碼。由於HashBytes不可用,我如何在SQL Server 2000中獲得唯一的散列(sha,sha1,md5等)。SQL Server 2000,是2000密碼哈希

我不尋找編譯的DLL或類似的,我沒有訪問服務器,需要是純粹的MS SQL。

回答

4

在MS SQL Server 2000中有未記錄(直到後來的版本)函數,稱爲pwdencrypt()pwdcompare()

看到這個博客:Undocumented SQL Server 2000 Functions

或者對MSDN聯機叢書:

然而,這種功能被稱爲是不安全的,因爲至少2002年。有關詳細信息,請參閱TheRegister上的「Cracking MS SQL Server passwords」。我想這就是爲什麼它被替換爲Hashbytes。

如果您無法升級您的SQL Server實例或使用任何加載項,這可能是您可以做的最好的。除非您在應用程序代碼中散列密碼並存儲結果摘要字符串,否則將SQL Server留在循環之外。