MD5加密-java

public class Encrypt_MD5 {
    
    public String fillMD5(String md5){//补全32位
        return md5.length()==32?md5:fillMD5("0"+md5);
    }
    
    public String[] md5(String param){
        String sign_md5_32 = "";
        try {
            // 生成一个MD5加密计算摘要
            MessageDigest md = MessageDigest.getInstance("MD5");
            // 计算md5函数
            md.update(param.getBytes());
            // digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符
            // BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的hash值
            String sign_md5_16 =new BigInteger(1, md.digest()).toString(16);
            //BigInteger会把0省略掉,需补全至32位
            sign_md5_32 = sign_md5_16.length()==32?sign_md5_16:fillMD5("0"+sign_md5_16);
            //System.out.println(sign_md5_32);
        } catch (Exception e) {
            throw new RuntimeException("MD5加密错误:"+e.getMessage(),e);
        }
return sign_md5_32; } }
原文地址:https://www.cnblogs.com/yanzhe/p/7563055.html