2016-06-13 43 views
-1

變量$ var = 123456及其各自的 哈希值= $ 2y $ 10 $ U7Xh..V1deexlMK1osMLY.FSXvLHzg5NnoxLFFFKdmv6bPpB5bElS它將被存儲在數據庫表中。 我如何解密哈希值?Laravel Un Hash哈希值?

對於加密我使用以下技術 示例:$變種= \哈希::使($變種);

+0

沒有辦法解密散列值 –

+1

你知道散列是什麼不好嗎?你知道散列的整個意義在於它不可逆?你知道這不是加密?你問的是如何從漢堡中得到一頭牛。 –

+0

你可能想看看這個問答以增加你的理解http://stackoverflow.com/questions/4948322/fundamental-difference-between-hashing-and-encryption-algorithms – DavidT

回答

2

當您使用Hash :: make時,如果您正在搜索密碼重置,那麼您顯然可以讓用戶更改密碼,但無法解開密碼。

1

要添加的進一步信息:

密碼散列是單程obfuscation數據。任何計算機語言都沒有這樣的「unhash()」功能。通過使值通過散列它的目的是使數據:

  1. 少可讀
  2. 少可猜測(通過自動攻擊的變體,請參見「蠻力」)

它可以被描述爲a Lossy密碼技術。雖然可以將原始值與原始值的散列值進行比較以確定值是否匹配,但散列值中原始數據爲lost

加密/解密是密碼學變體的Lossless變體。通過多種編程技術(基於硬件或軟件),數據通過使用key進行轉換。這個密鑰應該被一方(存儲)或一個或多個夥伴系統(用於傳輸)所知。這類似於鎖中的鑰匙。當鑰匙以正確的方式推動滾筒中的所有銷子時,鎖打開,門/箱子/鎖定物品也會打開。對於加密數據也是如此,如果共享密鑰,則可以有多個人訪問數據。

更安全的系統(通常包括數據傳輸)需要協同工作,一個公鑰和私鑰。這類似於不得不在兩個單獨的鎖中轉動兩個鑰匙才能打開門/箱子/物品。

不幸的是,我們不能接受的人爲錯誤承擔責任。如果你在物理上寫下你的密碼,其他人將有機會複製它(再次,像複製一個肥皂或類似的鑰匙),並將其用於他們自己的惡意目的。

參見:

https://security.stackexchange.com/questions/33860/how-does-hashing-work

http://www.howtogeek.com/166832/brute-force-attacks-explained-how-all-encryption-is-vulnerable/