私は例を試しています:
String hashAlgorithm ="sha-256"
...
md=MessageDigest.getInstance(hashAlgorithm);
byte[] enteredPasswordDigest = md.digest(policy.getPassword().getBytes());
if (!MessageDigest.isEqual(enteredPasswordDigest, realPassword.getBytes())) {
...
}
ただし、ハッシュされたパスワードはデータベースに文字列として保存されます。その比較を行うと、失敗します。デバッグすると、enteredPasswordDigest
長さは 32 バイトで、長さrealPassword.getBytes()
は 64 バイトです。
私は何を取りこぼしたか?