我試圖用PHP驗證Devise Ruby on Rails生成的一些密碼。 Devise被配置爲使用bcrypt。用於Ruby on Rails的PHP BCrypt設計密碼
我的代碼是:
$database_record = "$2a$10$..."; // generated by devise
$user_input = 'asdasd';
$password = crypt($user_input, '$2a$10$usesomesillystringforsalt$');
if (crypt($user_input, $database_record) == $password) {
echo "<br/>Password verified!";
}
else {
echo '<br/>failed!'; }
,我看到都採用這種方法的文檔,但它並沒有爲我工作。我忘記了什麼嗎? 應以任何方式使用「胡椒串」? 謝謝!
Hello Brendan!感謝您的回答。你說什麼是有道理的。但我試過了,仍然有同樣的問題......我想也許我錯過了Devise的一些額外編碼。 – 2012-07-18 17:45:01
我終於發現瞭如何解決這個問題。你的解決方案是正確的,我只需要統一密碼和胡椒,並執行兩者的加密。再次感謝! – 2012-07-19 14:00:47
@Andrés當某人的回答有幫助時,您可以標記他們答案旁邊的向上箭頭以標記該標記。如果答案解決了您的問題,您可以點擊複選框。這有助於其他可能出現類似問題的人(因爲最佳答案位於頁面頂部),並通過獎勵幫助你的人來幫助網站。 – 2012-07-19 16:14:58