1
This commit is contained in:
87
mosty-hczx/src/main/java/com/mosty/hczx/utils/MD5Utils.java
Normal file
87
mosty-hczx/src/main/java/com/mosty/hczx/utils/MD5Utils.java
Normal file
@ -0,0 +1,87 @@
|
||||
package com.mosty.hczx.utils;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.math.BigInteger;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
public class MD5Utils {
|
||||
private static MessageDigest md5 = null;
|
||||
static {
|
||||
try {
|
||||
md5 = MessageDigest.getInstance("MD5");
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 用于获取一个String的md5值
|
||||
*
|
||||
* @param string
|
||||
* @return
|
||||
*/
|
||||
public static String getMd5(String str) {
|
||||
byte[] bs = md5.digest(str.getBytes());
|
||||
StringBuilder sb = new StringBuilder(40);
|
||||
for (byte x : bs) {
|
||||
if ((x & 0xff) >> 4 == 0) {
|
||||
sb.append("0").append(Integer.toHexString(x & 0xff));
|
||||
} else {
|
||||
sb.append(Integer.toHexString(x & 0xff));
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(getMd5("abc@123"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过网站域名URL获取该网站的源码
|
||||
*
|
||||
* @param url
|
||||
* @return String
|
||||
* @throws Exception
|
||||
*/
|
||||
public static InputStream getURLinStream(String pathUrl) throws Exception {
|
||||
URL url = new URL(pathUrl);
|
||||
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
||||
conn.setRequestMethod("GET");
|
||||
conn.setConnectTimeout(5 * 1000);
|
||||
return conn.getInputStream(); // 通过输入流获取html二进制数据
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取md5
|
||||
*
|
||||
* @param path
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public static String getUrlMd5(String url) throws Exception {
|
||||
try {
|
||||
InputStream fis = getURLinStream(url);
|
||||
MessageDigest md = MessageDigest.getInstance("MD5");
|
||||
byte[] buffer = new byte[1024];
|
||||
int length = -1;
|
||||
while ((length = fis.read(buffer, 0, 1024)) != -1) {
|
||||
md.update(buffer, 0, length);
|
||||
}
|
||||
BigInteger bigInt = new BigInteger(1, md.digest());
|
||||
return bigInt.toString(16);
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user