在Java中,你可以使用MessageDigest类来获取MD5哈希值的16进制表示。
代码如下
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Main { public static void main(String[] args) { String original = "Hello World"; String md5 = getMD5(original); System.out.println("Original: " + original); System.out.println("MD5 (16 bits): " + md5); } public static String getMD5(String input) { try { // Create MessageDigest instance for MD5 MessageDigest md = MessageDigest.getInstance("MD5"); // Add password bytes to digest md.update(input.getBytes()); // Get the hash's bytes byte[] bytes = md.digest(); // This will contain hash in hex StringBuilder sb = new StringBuilder(); for (int i=0; i< bytes.length ;i++) { sb.append(Integer.toString((bytes[i] & 0xff) + 0x100, 16).substring(1)); } return sb.toString(); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } } }
上述代码中,getMD5函数通过以下步骤生成MD5哈希值:
1通过MessageDigest.getInstance("MD5")创建一个MessageDigest实例。
2使用update(input.getBytes())将输入字符串转换为字节并添加到digest。
3使用md.digest()获取hash的字节。
4将每个字节转换为十六进制字符串,然后将所有字符串连接起来。
技术QQ交流群:157711366
技术微信:liehuweb
写评论