java的md5工具类

package com.lwy.utils;

import lombok.extern.slf4j.Slf4j;

import java.security.MessageDigest;

@Slf4j
public class MD5Utils {
        static final char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

        /**
         * 对字符串 MD5 加密
         *
         * @param plainText 传入要加密的字符串
         * @return MD5加密后生成32位(大写字母 + 数字)字符串
         */
        public static String getMD5String(String plainText) {
            try {
                // 获得MD5摘要算法的 MessageDigest 对象
                MessageDigest md = MessageDigest.getInstance("MD5");

                // 使用指定的字节更新摘要
                md.update(plainText.getBytes());

                // 获得密文
                byte[] mdResult = md.digest();
                // 把密文转换成十六进制的字符串形式
                int j = mdResult.length;
                char str[] = new char[j * 2];
                int k = 0;
                for (int i = 0; i < j; i++) {
                    byte byte0 = mdResult[i];
                    str[k++] = hexDigits[byte0 >>> 4 & 0xf];// 取字节中高 4 位的数字转换, >>> 为逻辑右移,将符号位一起右移
                    str[k++] = hexDigits[byte0 & 0xf]; // 取字节中低 4 位的数字转换
                }
                return new String(str);
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }

        }

 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值