Java中String转MD5


public static String StringToMd5(String psw) {
        {
            try {
                MessageDigest md5 = MessageDigest.getInstance("MD5");
                md5.update(psw.getBytes("UTF-8"));
                byte[] encryption = md5.digest();

                StringBuffer strBuf = new StringBuffer();
                for (int i = 0; i < encryption.length; i++) {
                    if (Integer.toHexString(0xff & encryption[i]).length() == 1) {
                        strBuf.append("0").append(Integer.toHexString(0xff & encryption[i]));
                    } else {
                        strBuf.append(Integer.toHexString(0xff & encryption[i]));
                    }
                }

                return strBuf.toString();
            } catch (NoSuchAlgorithmException e) {
                return "";
            } catch (UnsupportedEncodingException e) {
                return "";
            }
        }
    }


Java,计算字符串的MD5值可以通过使用`java.security.MessageDigest`类实现。以下是计算字符串MD5值的步骤: 1. 首先,使用`MessageDigest`的`getInstance`方法获取一个`MessageDigest`实例,传入算法名称"MD5"以获取MD5摘要算法的实例。 2. 使用`digest()`方法计算指定字节数组的散列值,这通常意味着首先需要将字符串转换为字节数组。可以使用字符串的`getBytes()`方法进行转换。 3. 将得到的字节数组转换为十六进制字符串,以便更容易阅读和使用。这可以通过将每个字节转换为对应的两个十六进制字符来完成。 4. 返回计算得到的MD5字符串。 下面是一个计算字符串MD5值的Java方法示例: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Util { public static String calculateMD5(String input) { try { // 创建MessageDigest实例,指定算法为MD5 MessageDigest md = MessageDigest.getInstance("MD5"); // 计算字符串的MD5值 byte[] messageDigest = md.digest(input.getBytes()); // 将得到的字节数组转换为十六进制字符串 StringBuilder hexString = new StringBuilder(); for (byte b : messageDigest) { String hex = Integer.toHexString(0xff & b); if (hex.length() == 1) { hexString.append('0'); } hexString.append(hex); } // 返回转换后的MD5字符串 return hexString.toString(); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } } public static void main(String[] args) { String originalString = "Hello, World!"; String md5String = calculateMD5(originalString); System.out.println("MD5(\"" + originalString + "\") = " + md5String); } } ``` 在上述代码,`calculateMD5`方法接受一个字符串参数,并返回该字符串的MD5散列值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值