JDBC を使用してランプを接続しています。MySQL データベースで MD5 を使用してハッシュされたパスワードとしてLondonWeightという単語があります。次に、入力されたパスワードをコレクションに対してチェックする必要があります。つまり、LondonWeightが一致するかどうかをチェックします。ただし、私の Java コードのハッシュは、単語に対して異なる出力を返します。
MySQL ハッシュ: 1274d1c52d7a5a9125bd64f1f9a26dce
Java ハッシュ: 132310771724320562704545645352563257040366
これが私のハッシュコードです:
private String hashPass(String pass) throws NoSuchAlgorithmException {
MessageDigest mdEnc = MessageDigest.getInstance("MD5");
mdEnc.update(pass.getBytes(), 0, pass.length());
String md5 = new BigInteger(1, mdEnc.digest()).toString(8); // Encrypted
return md5;
}
テキストボックスに入力された文字列は、端末に出力されているため、確認できるように確実にハッシュされます。なぜそれが異なる出力を与えるのか考えていますか? バイトなどをハッシュする別の方法があることを理解していますか?