2017-11-20 5 views
0

私はパスワードリセット機能に取り組んでいます。トークンからpassword_resetレコードを取得

今のところ、メールフィールドは必須です。しかし、私は電子メールフィールド(データベースからトークンを使用して取得し、リセットフォームの隠しフィールドに保持する)をリセットフォームから削除します。

password_resetsテーブルには、email,tokencreated_atフィールドのパスワードリセット要求レコードがあります。

私はURLから取得するトークンをデコードしようとしています。データベースに保存されているトークンと比較しようとしています。

私は、私はURLから取得するトークンに

//Hash::make 
//$this->hasher->make 
//Crypt::decrypt 
//sha1 
//md5 

を試してみました。

まだデータベーステーブルpassword_resetsに存在するトークンと比較するために正確に一致するトークンを取得できません。

私はこれを通過しましたlink。だからパスワードリセットトークンがsha256のbcryptとして保存されるようになりました。しかし、私はそのトークンをどのように解読するのか分かりません。

誰もこの問題に直面していますか? 提案がありますか?

答えて

0

ハッシュは暗号化されていないため、ハッシュを復号化することはできません。ハッシュは、データの一意の「指紋」を作るために使用されます。ハッシュには完全なデータが含まれていないので、それを元に戻す方法はありません。

しかし、password_resetsテーブルにはトークンが含まれている必要があります。

SELECT * FROM password_resets WHERE token = ? 

などの簡単なクエリは、電子メールアドレスを返す必要があります。

まず、そのテーブルにデータがあることを確認します。

+0

私はそれを解読することはできませんが、私は持っているトークンから1つを作成することができます。私はデータベースに保存されているdittoトークン文字列を作成するアルゴリズムが必要です。 – rahulsm

関連する問題