http://www.anyexample.com/programming/java/java_simple_class_to_compute_md5_hash.xmlには、文字列の MD5 ハッシュを計算する方法の例が示されています。これにより、20 桁の 16 進文字列が生成されます。http://en.wikipedia.org/wiki/MD5によると、32 桁の 16 進文字列が期待されます。たとえば、「MD5 ハッシュを生成するにはどうすればよいですか?」のdac2009 応答を使用しても同じ結果が得られます。.
MD5 ハッシュのように見えてそうでないものを取得するのはなぜですか? 取得したすべての文字列に 12 個の先行ゼロを埋め込む必要があるとは想像できません。
編集:1つのコード例
public static String MungPass(String pass) throws NoSuchAlgorithmException {
MessageDigest m = MessageDigest.getInstance("MD5");
byte[] data = pass.getBytes();
m.update(data,0,data.length);
BigInteger i = new BigInteger(1,m.digest());
return String.format("%1$032X", i);
}