2017-08-09 78 views
-1

我有一列password_hash在此時用戶從頁面輸入文本框中的東西然後這將轉換爲SQL Server表中的此窗體。在SQL Server中的密碼哈希

例如,如果用戶輸入4512,然後將其轉換爲這種形式:

90 119 218 156 223 147 36 245 171 86 241 32 174 66 192 226 34 75 

如何解密這個用T-SQL查詢?

任何解決方案?

+5

你不能解密散列(這是單向函數)。當然你可以嘗試蠻橫的。請描述你想達到什麼(比較散列/提取原始值/ ...) – lad2025

+0

我實現了4512的值,我通過SQL查詢提到 –

+1

如果它是真正的散列(MD5,SHA ...)將無法做到這一點。 – lad2025

回答

1

你真的不能,但如果你想嘗試,並猜測它使用:

SELECT name FROM sys.sql_logins 
WHERE PWDCOMPARE('EnterPasswordHere', password_hash) = 1 ; 

它只返回那些與密碼。

1

any possibilities ? and i am using Dim sha As SHA256.... < =不,哈希的目的是提供單向加密的方式。您加密但無法解密。另請參閱SO - Fundamental difference between Hashing and Encryption algorithms

實際上,您想要做的是創建一個輸入密碼的哈希值,並將其與存儲的密碼哈希值進行比較以查看它們是否相等。然後您知道輸入的密碼是否與存儲的密碼相符。