IT技术博客网IT技术博客网IT技术博客网

当前位置: 首页 > 前沿

JAVA程序中将MD5加密成16位怎么做?

在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

写评论