2014-10-12 79 views
0

我想解密使用加密的Sql Server 2008數據庫中存儲的密碼Exec master.dbo.xp_sha1 @Password,@EncPassword輸出。是否可以解密?解密使用Exec加密的密碼master.dbo.xp_sha1

加密的密碼是這樣的:xxstgggettebbqyyayujjweee

感謝

+0

你的存儲過程'dbo.xp_sha1'的定義是什麼? – 2014-10-12 14:51:03

回答

4

xp_sha1是不是標準的主存儲過程,它不包含在任何SQL Server我所看到的,但做一個快速谷歌I碰到:http://www.xpcrypt.com/xpho/xp_sha1.htm

正如我在我的回答/在您的問題的意見Encrypt passwords on Sql Server 2008 using SHA1中所述加密是不是哈希。 SHA1是散列,而不是加密。加密可以撤消,哈希不能。

在回答最後一個問題,經過這在一些細節上叫出來的鏈接,但這裏有專門圍繞加密散列之間的差異幾篇文章:

Difference between Hashing a Password and Encrypting it

http://www.darkreading.com/safely-storing-user-passwords-hashing-vs-encrypting/a/d-id/1269374

請理解加密與哈希之間存在根本差異。

如果以「密碼」加密爲「123809dsfajsfoiwj」爲例,知道密鑰和加密方法,您可以通過適當的解密返回「密碼」。

使用SHA1和散列「密碼」,沒有辦法將散列的「jdsfioajd0f98uas」(例如)反轉回原來的「密碼」。每次給定相同的輸入時,哈希都被創建爲相同,所以哈希與哈希值進行「驗證密碼」的比較。你永遠不會回到原來的位置。

+0

好吧,我明白了 – user2614235 2014-10-13 04:05:20