Trong http://www.anyexample.com/programming/java/java_simple_class_to_compute_md5_hash.xml một ví dụ được đưa ra cách tính giá trị băm MD5 của chuỗi. Điều này dẫn đến một chuỗi chữ số gồm 20 chữ số. Theo http://en.wikipedia.org/wiki/MD5 tôi mong đợi một chuỗi hex 32 chữ số. Tôi nhận được kết quả tương tự cho ví dụ sử dụng phản hồi dac2009 trong How can I generate an MD5 hash?.Java tính toán MD5 băm
Tại sao tôi nhận được thứ gì đó giống như băm MD5 nhưng không? Tôi không thể tưởng tượng rằng tất cả các chuỗi tôi nhận được tôi phải pad với 12 số không hàng đầu.
Edit: một mã ví dụ
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);
}
Taken từ http://snippets.dzone.com/posts/show/3686
Liên kết đầu tiên của bạn là 404 – Paul
Vui lòng đăng một ví dụ ngắn (đầy đủ) mã chứng minh sự cố bạn đang gặp phải. Nếu không có điều đó, chúng tôi không thể cho bạn biết những gì bạn đang làm sai :) Phương pháp được mô tả trong câu hỏi StackOverflow bạn liên kết đến là cách bạn tạo một băm MD5 thực sự là 32 ký tự hex –
Liên kết đầu tiên hoạt động ở đây ... – AndyAndroid