2013-03-06 67 views
8

我需要解密通過色器件生成的密碼。解密有一項密碼

例如,我的密碼是test123test。設計生成此密碼:

$2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu 

我需要解密密碼,併發送test123test

+1

解密密碼的設計計算非常昂貴。加密一個並將其與以前加密的結果相比要快很多,而不是試圖解密它。這是使用字典進行大量密碼攻擊的基礎。 – 2013-03-06 17:25:41

+0

感謝錫人 – 2013-03-06 17:27:30

回答

18

你不能,這是整點。

Bcrypt將允許你比較test123test$2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu,但它永遠不會給你明文密碼。您可能想問如何破解bcrypt加密密碼(非常難!幾乎不可能,我認爲)

Jose Valim描述了通過鏈接到設計Google Group的http://codahale.com/how-to-safely-store-a-password/選擇bcrypt的動機。

3

使用在設計的可回收模塊重置用戶的密碼。

devise :database_authenticatable, :registerable, :token_authenticatable, 
    :recoverable, :timeoutable, :trackable, :validatable, :rememberable 

設計將生成一個密碼重置表單,並將向用戶發送一封包含密碼重置鏈接的電子郵件。用戶點擊鏈接,重置密碼並再次登錄。

2

Leito說的是對的。您無法獲取純文本密碼或可能需要很長時間才能找到。另一件事是你可以檢查給定的密碼是否等於由bcrypt-calculator加密的密碼。

bcrypt-calculator

a.Look爲BCrypt儀

b。輸入您要檢查前的密碼:test123test

c.enter的色器件加密的密碼例如:$ 2A $ 10 $ vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu

按calculate.To發現密碼和散列匹配