Chức năng tiếp theo trong MySQLMySQL MD5 và Java MD5 không bằng
MD5( 'secret')
tạo 5ebe2294ecd0e0f08eab7690d2a6ee69
Tôi muốn có một hàm Java để tạo ra sản lượng tương tự. Nhưng
public static String md5(String source) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] bytes = md.digest(source.getBytes("UTF-8"));
return getString(bytes);
} catch(Exception e) {
e.printStackTrace();
return null;
}
}
private static String getString(byte[] bytes) {
StringBuffer sb = new StringBuffer();
for(int i=0; i<bytes.length; i++) {
byte b = bytes[ i ];
sb.append((int)(0x00FF & b));
if(i+1 <bytes.length) {
sb.append("-");
}
}
return sb.toString();
}
tạo mã hóa
94-190-34-148-236-208-224-240-142-171-118-144-210-166-238-105
@Randolpho: nếu b <0x10, bạn cần phải pad với 0 – laalto
điểm xuất sắc; chỉnh sửa để bao gồm kiểm tra @ mihi (IMO tốt hơn so với kiểm tra giá trị byte). – Randolpho
bạn quên() trong hex.length() –