88 lines
2.1 KiB
Java
88 lines
2.1 KiB
Java
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 "";
|
|
}
|
|
}
|