You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.6 KiB
67 lines
1.6 KiB
package com.ruoyi.common.utils.sign; |
|
|
|
import java.nio.charset.StandardCharsets; |
|
import java.security.MessageDigest; |
|
import org.slf4j.Logger; |
|
import org.slf4j.LoggerFactory; |
|
|
|
/** |
|
* Md5加密方法 |
|
* |
|
* @author ruoyi |
|
*/ |
|
public class Md5Utils |
|
{ |
|
private static final Logger log = LoggerFactory.getLogger(Md5Utils.class); |
|
|
|
private static byte[] md5(String s) |
|
{ |
|
MessageDigest algorithm; |
|
try |
|
{ |
|
algorithm = MessageDigest.getInstance("MD5"); |
|
algorithm.reset(); |
|
algorithm.update(s.getBytes("UTF-8")); |
|
byte[] messageDigest = algorithm.digest(); |
|
return messageDigest; |
|
} |
|
catch (Exception e) |
|
{ |
|
log.error("MD5 Error...", e); |
|
} |
|
return null; |
|
} |
|
|
|
private static final String toHex(byte hash[]) |
|
{ |
|
if (hash == null) |
|
{ |
|
return null; |
|
} |
|
StringBuffer buf = new StringBuffer(hash.length * 2); |
|
int i; |
|
|
|
for (i = 0; i < hash.length; i++) |
|
{ |
|
if ((hash[i] & 0xff) < 0x10) |
|
{ |
|
buf.append("0"); |
|
} |
|
buf.append(Long.toString(hash[i] & 0xff, 16)); |
|
} |
|
return buf.toString(); |
|
} |
|
|
|
public static String hash(String s) |
|
{ |
|
try |
|
{ |
|
return new String(toHex(md5(s)).getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8); |
|
} |
|
catch (Exception e) |
|
{ |
|
log.error("not supported charset...{}", e); |
|
return s; |
|
} |
|
} |
|
}
|
|
|