パスワードをリセットするにはサイト/アカウント/ {ハッシュ}へのリンクをユーザーに送信します。{ハッシュ}はユーザーのパスワードとタイムスタンプのハッシュです。
私は電子メールのみをハッシュして読めるリンクを持っているために、次のコードを持っている:ダイナミックパスワードリセットリンクの生成
String check = info.mail;
MessageDigest md = MessageDigest.getInstance("SHA-1");
String checkHash = Base64.encodeBase64String(md.digest(check.getBytes()));
if(checkHash.equals(hash)){
return ResponseEntity.ok("Password reset to: " + info.password);
}else{
return ResponseEntity.ok("Hash didn't equal to: " + checkHash);
}
問題は、私はBase64でこれを変換するとき、それは/何意志台無しに私のリンクをしてのチェック印を含むことができることですハッシュ。 ハッシュの後に不要な記号を置き換えることはできますが、ハッシュにコードの特定の部分のみを含める方法がありますか?
また、返品はまだ安全ではないことがわかりましたが、これはテストとデバッグのためのものです。