2013-04-04 58 views
-1

有沒有辦法做到這一點? 在我的映射類中,當我將數據庫數據提取到實體中時,我想解密一個MD5密碼。這可能嗎?如何解密NHibernate映射中的MD5密碼?

謝謝!

+2

你知道嗎,MD5是單向散列函數? – 2013-04-04 15:36:56

+0

是的,單向散列函數。 – Kiwanax 2013-04-04 16:19:05

回答

1

MD5可以被用於加密的密碼。 MD5被認爲是broken。你要做的是用MD5對密碼進行散列,並將其與數據庫中的原始散列值進行比較。由於MD5是一種方式,如果密碼相同,散列值相同。

編輯:

如果您正在尋找破解MD5加密密碼,這是不同的東西。看看this

你先了解這是不是技術特定的。這些是基本計算機科學通用概念,其可以使用各種技術來實現。在你的情況下C#和NHibernate等

簡單地說,你與MD5(消息摘要算法5)是做什麼,你做散列。因爲它是一個哈希函數。看看this

但這MD5是一種單向散列函數。 「單向」意味着從字符串中獲取原始文本幾乎是不可能的。這就是爲什麼它用於密碼加密。因爲您不能反轉單向函數並獲取實際密碼。看看this以及。

我假設你要檢查的天氣所插入的密碼是正確的,並允許登錄或做什麼都需要。 你不應該解密密碼。如果你不打算密碼。密碼破解更多的是猜測,使用實施的方法的弱點可以減少範圍(在MD5散列衝突中)。

在創建密碼,你把密碼和您使用MD5(你的情況)。那麼這個散列值是你要在數據庫中存儲什麼散列它。然後下一次你想檢查天氣密碼是否正確。然後再次輸入密碼,然後再次使用MD5對其進行哈希處理。那麼你將該散列值與數據庫中的散列值進行比較。如果他們匹配插入的密碼是正確的。

我可以看到,你是新來的SO。我推薦的是,你最好先學習這些概念,這些概念將幫助你,而不管你使用什麼技術。

+0

不錯。但是你知道如何解密用MD5加密的檢索密碼?我試圖用C#來做到這一點,但沒有成功。 – Kiwanax 2013-04-04 16:20:10

+0

你想破解密碼嗎?你能不能大致告訴我你要在哪裏使用這個。 – 2013-04-04 16:38:16

+0

不,我只想得到一個Joomla密碼並解密它。在NHibernate的映射中首選。但基本的是:獲取Joomla密碼並解密。 – Kiwanax 2013-04-05 11:41:04

0

你不妨詢問是否可以把一堆灰燼回日誌就被燒燬了。散列是一種單向行爲......你不能「反轉」它。你唯一能做的就是確定一些生成相同散列值的散列值(哈希碰撞)。