12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package com.ruoyi.web.util;
- /**
- * @ClassName ParseMD5
- * @Description: TODO
- * @Author LX
- * @Date 2023/6/27
- * @Version V1.0
- **/
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- /**
- * 将字符串转换为MD5
- */
- public class ParseMD5 {
- private final static String mStrClassName = "ParseMD5";
- private final static String EMPTY_NULL = "NULL";
- private static final Logger sys_error_logger = LoggerFactory.getLogger("sys-error");
- public static String parseStrToMd5L32(String str) {
- // 将字符串转换为32位小写MD5
- String reStr = null;
- try {
- MessageDigest md5 = MessageDigest.getInstance("MD5");
- byte[] bytes = md5.digest(str.getBytes());
- StringBuffer stringBuffer = new StringBuffer();
- for (byte b : bytes) {
- int bt = b&0xff;
- if (bt < 16) {
- stringBuffer.append(0);
- }
- stringBuffer.append(Integer.toHexString(bt));
- }
- reStr = stringBuffer.toString();
- } catch (NoSuchAlgorithmException e) {
- sys_error_logger.error(String.format(mStrClassName+" errorMsg: %s====>"
- ,e.getLocalizedMessage()));
- }
- return reStr;
- }
- // 将字符串转换为32位大写的MD5
- public static String parseStrToMd5U32(String str) {
- String reStr = parseStrToMd5L32(str);
- if (reStr != null) {
- reStr = reStr.toUpperCase();
- }
- return reStr;
- }
- // 将字符串转换为16位小写的MD5
- public static String parseStrToMd5L16(String str) {
- String reStr = parseStrToMd5L32(str);
- if (reStr != null) {
- reStr = reStr.substring(8, 24);
- }
- return reStr;
- }
- // 将字符串转换为16位大写的MD5
- public static String parseStrToMd5U16(String str) {
- String reStr = parseStrToMd5L32(str);
- if (reStr != null) {
- reStr = reStr.toUpperCase().substring(8, 24);
- }
- return reStr;
- }
- }
|