2009-05-22 68 views
1

在我的應用程序中,我將密碼發送到數據庫,可以說我的密碼是PassworD123。 現在,這給了我適當的價值,但是當我使用password123 ..它也給我適當的價值。所以如何查詢SQL服務器中的區分大小寫的數據。 任何演示代碼都會有所幫助。 謝謝。如何在sql server08中檢查區分大小寫的密碼

回答

2

您可以在您的T-SQL語句中使用COLLATE子句。

Ex。

SELECT * FROM dbo.TableName WHERE Password = @ password COLLATE SQL_Latin1_General_CP1_CS_AS 
5

爲什麼不使用加密存儲在數據庫中的密碼,如MD5,因爲他們將返回不同的散列版本,例如

的Md5 password123的= 482c811da5d5b4bc6d497ffa98491e38

的PassworD123 = bbac8ba35cdef1b1e6c40f82ff8002ea

和MD5當你比較他們2時,他們顯然不同。

我想你是使用ASP,因此我不知道它是否有內置的md5()函數,但PHP確實有它。你應該知道的另一件事情是,如果你是存儲在數據庫中的密碼它能夠更好地使用某種加密是無法逆轉

+0

Thanks.Good Point。 – Wondering 2009-05-22 04:45:10

+0

我強烈建議您閱讀我在回覆中發佈的鏈接。 「MD5」不再是一個可以接受的答案。 – TML 2009-05-22 04:46:45