5
我需要在SQL Server 2000數據庫中存儲密碼。信息並不重要,但我真的不想以明文形式存儲密碼。由於HashBytes不可用,我如何在SQL Server 2000中獲得唯一的散列(sha,sha1,md5等)。SQL Server 2000,是2000密碼哈希
我不尋找編譯的DLL或類似的,我沒有訪問服務器,需要是純粹的MS SQL。
我需要在SQL Server 2000數據庫中存儲密碼。信息並不重要,但我真的不想以明文形式存儲密碼。由於HashBytes不可用,我如何在SQL Server 2000中獲得唯一的散列(sha,sha1,md5等)。SQL Server 2000,是2000密碼哈希
我不尋找編譯的DLL或類似的,我沒有訪問服務器,需要是純粹的MS SQL。
在MS SQL Server 2000中有未記錄(直到後來的版本)函數,稱爲pwdencrypt()
和pwdcompare()
。
看到這個博客:Undocumented SQL Server 2000 Functions
或者對MSDN聯機叢書:
然而,這種功能被稱爲是不安全的,因爲至少2002年。有關詳細信息,請參閱TheRegister上的「Cracking MS SQL Server passwords」。我想這就是爲什麼它被替換爲Hashbytes。
如果您無法升級您的SQL Server實例或使用任何加載項,這可能是您可以做的最好的。除非您在應用程序代碼中散列密碼並存儲結果摘要字符串,否則將SQL Server留在循環之外。