2
我試圖對用戶名和密碼匹配的用戶名錶進行查詢。該表是預先存在的(在公司軟件安裝期間創建的)表,並且我沒有能力更改加密類型或方法。用字符串作爲密碼的查詢工作得很好,但是當我嘗試使用整數查詢時,查詢返回null。如何使用整數值與SQL Server查詢利用HashBytes
"SELECT *
FROM ITF_USER
WHERE ITF_LOGIN = '$lcUserName'
AND ITF_PASS = HashBytes('SHA1', '$lcPassword')";
如果密碼是一樣的東西'helloworld'
那麼查詢工作正常,但'1121321'
不返回任何東西。有什麼建議麼?
UPDATE 如果我用PHP的SHA1($ lcPassword)結果我看到引起空查詢結果略有差異比較表中存儲的密碼:
table -> 0x3FEEAC0B3A75CF1C12A8420CDE593FA275CCE584
sha1()-> 8feeac0b3a75cf1c12a8420cde598fa275cce584
有兩個8位的中SHA1 ()的結果,應該是3的
對於SQL,它並沒有多大關係,如果你在'「hello''或'」傳遞123'',它仍然是一個字符串。問題可能出現在其他代碼中;仔細檢查設置或更新密碼的代碼。 – Andomar