我有一列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查詢?
任何解決方案?
我有一列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查詢?
任何解決方案?
你真的不能,但如果你想嘗試,並猜測它使用:
SELECT name FROM sys.sql_logins
WHERE PWDCOMPARE('EnterPasswordHere', password_hash) = 1 ;
它只返回那些與密碼。
any possibilities ? and i am using Dim sha As SHA256....
< =不,哈希的目的是提供單向加密的方式。您加密但無法解密。另請參閱SO - Fundamental difference between Hashing and Encryption algorithms
實際上,您想要做的是創建一個輸入密碼的哈希值,並將其與存儲的密碼哈希值進行比較以查看它們是否相等。然後您知道輸入的密碼是否與存儲的密碼相符。
你不能解密散列(這是單向函數)。當然你可以嘗試蠻橫的。請描述你想達到什麼(比較散列/提取原始值/ ...) – lad2025
我實現了4512的值,我通過SQL查詢提到 –
如果它是真正的散列(MD5,SHA ...)將無法做到這一點。 – lad2025