first commit
This commit is contained in:
82
maibu-common/src/main/java/com/maibu/utils/Md5Utils.java
Normal file
82
maibu-common/src/main/java/com/maibu/utils/Md5Utils.java
Normal file
@@ -0,0 +1,82 @@
|
||||
package com.maibu.utils;
|
||||
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
@NoArgsConstructor
|
||||
public class Md5Utils {
|
||||
private static final String MD5 = "MD5";
|
||||
private static final String DEFAULT_ENCODING = "UTF-8";
|
||||
|
||||
|
||||
|
||||
public static String md5(String input) {
|
||||
return md5((String) input, 1);
|
||||
}
|
||||
|
||||
public static String md5(String input, int iterations) {
|
||||
try {
|
||||
return EncodeUtils.encodeHex(DigestUtils.digest(input.getBytes("UTF-8"), "MD5", (byte[]) null, iterations));
|
||||
} catch (UnsupportedEncodingException var3) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
public static byte[] md5(byte[] input) {
|
||||
return md5((byte[]) input, 1);
|
||||
}
|
||||
|
||||
public static byte[] md5(byte[] input, int iterations) {
|
||||
return DigestUtils.digest(input, "MD5", (byte[]) null, iterations);
|
||||
}
|
||||
|
||||
public static byte[] md5(InputStream input) throws IOException {
|
||||
return DigestUtils.digest(input, "MD5");
|
||||
}
|
||||
|
||||
public static boolean isMd5(String str) {
|
||||
int cnt = 0;
|
||||
for (int i = 0; i < str.length(); ++i) {
|
||||
switch (str.charAt(i)) {
|
||||
case '0':
|
||||
case '1':
|
||||
case '2':
|
||||
case '3':
|
||||
case '4':
|
||||
case '5':
|
||||
case '6':
|
||||
case '7':
|
||||
case '8':
|
||||
case '9':
|
||||
case 'a':
|
||||
case 'b':
|
||||
case 'c':
|
||||
case 'd':
|
||||
case 'e':
|
||||
case 'f':
|
||||
case 'A':
|
||||
case 'B':
|
||||
case 'C':
|
||||
case 'D':
|
||||
case 'E':
|
||||
case 'F':
|
||||
++cnt;
|
||||
if (32 <= cnt) return true;
|
||||
break;
|
||||
case '/':
|
||||
if ((i + 10) < str.length()) {// "/storage/"
|
||||
char ch1 = str.charAt(i + 1);
|
||||
char ch2 = str.charAt(i + 8);
|
||||
if ('/' == ch2 && ('s' == ch1 || 'S' == ch1)) return true;
|
||||
}
|
||||
default:
|
||||
cnt = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user