|
|
package javabean; // 定义包名,用于组织类和接口
|
|
|
|
|
|
import java.math.BigInteger; // 导入BigInteger类,用于处理大整数
|
|
|
import java.security.MessageDigest; // 导入MessageDigest类,用于生成MD5摘要
|
|
|
import java.security.NoSuchAlgorithmException; // 导入NoSuchAlgorithmException异常类,用于处理没有指定算法的情况
|
|
|
import java.text.SimpleDateFormat; // 导入SimpleDateFormat类,用于格式化日期
|
|
|
|
|
|
import net.sf.json.JSONObject; // 导入JSONObject类,用于处理JSON数据
|
|
|
|
|
|
public class Util { // 定义一个公共类Util
|
|
|
/**
|
|
|
* 主要用来计算json字符串中对象的个数
|
|
|
* @param str 输入的json字符串
|
|
|
* @param contain 要计算的对象标识符
|
|
|
* @return 返回对象的数量
|
|
|
*/
|
|
|
public static int getCountString(String str, String contain) {
|
|
|
int count = ( str.length()-str.replace(contain, "").length() ) / contain.length(); // 计算包含特定字符串的次数
|
|
|
return count; // 返回计数结果
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 数据库取出来的datetime有 .0 ,用来去掉
|
|
|
* @param dateTime 输入的日期时间字符串
|
|
|
* @return 返回去除.0后的日期时间字符串
|
|
|
*/
|
|
|
public static String getFormatDateTime(String dateTime) {
|
|
|
if(dateTime != null && dateTime.indexOf(".0") != -1) { // 如果字符串不为空且包含".0"
|
|
|
return dateTime.substring(0, dateTime.length()-2); // 去除最后两个字符(即".0")
|
|
|
}else if(dateTime != null) { // 如果字符串不为空但不包含".0"
|
|
|
return dateTime; // 直接返回原字符串
|
|
|
}
|
|
|
return null; // 如果字符串为空,返回null
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取当前时间
|
|
|
* @return 返回格式化后的当前时间字符串
|
|
|
*/
|
|
|
public static String getCurrentTimeString() {
|
|
|
java.util.Date date = new java.util.Date(); // 创建当前日期对象
|
|
|
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); // 定义日期格式
|
|
|
return dateFormat.format(date); // 返回格式化后的日期字符串
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
* 返回json数据
|
|
|
*/
|
|
|
public static String jsonResponse(int code, String msg, String data) {
|
|
|
JSONObject jsonObject = new JSONObject(); // 创建JSON对象
|
|
|
jsonObject.put("code", code); // 添加code字段
|
|
|
jsonObject.put("msg", msg); // 添加msg字段
|
|
|
if( data!=null ) { // 如果data不为空
|
|
|
jsonObject.put("data", data); // 添加data字段
|
|
|
}
|
|
|
return jsonObject.toString(); // 返回JSON字符串
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
* md5加密
|
|
|
*/
|
|
|
public static String stringToMD5(String plainText) {
|
|
|
byte[] secretBytes = null; // 定义字节数组用于存储MD5摘要
|
|
|
try {
|
|
|
secretBytes = MessageDigest.getInstance("md5").digest(
|
|
|
plainText.getBytes()); // 生成MD5摘要
|
|
|
} catch (NoSuchAlgorithmException e) { // 捕获没有该算法的异常
|
|
|
throw new RuntimeException("没有这个md5算法!"); // 抛出运行时异常
|
|
|
}
|
|
|
String md5code = new BigInteger(1, secretBytes).toString(16); // 将字节数组转换为16进制字符串
|
|
|
for (int i = 0; i < 32 - md5code.length(); i++) { // 如果长度不足32位,前面补0
|
|
|
md5code = "0" + md5code;
|
|
|
}
|
|
|
return md5code; // 返回MD5字符串
|
|
|
}
|
|
|
|
|
|
public static String passMd5(String password) {
|
|
|
String salt = "ew!.E"; // 定义盐值
|
|
|
return Util.stringToMD5(password +salt); // 返回加盐后的MD5字符串
|
|
|
}
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
System.out.println(Util.passMd5("admin")); // 测试MD5加密函数,输出加密后的字符串
|
|
|
//java.util.Date date = new java.util.Date(); // 注释掉的代码:创建当前日期对象
|
|
|
//SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); // 注释掉的代码:定义日期格式
|
|
|
//System.out.println(dateFormat.format(date)); // 注释掉的代码:输出格式化后的日期字符串
|
|
|
}
|
|
|
}
|
|
|
|