密码加密工具方法(md5、sha-1以及md5和sha-1的二次加密)
// -----------------------------密码加密---------------------------------------
/**
* 二次加密,应该破解不了了吧?
*
* @param inputText
* @return
*/
public static String md5AndSha(String inputText) {
return sha(md5(inputText));
}
/**
* md5加密
*
* @param inputText
* @return
*/
public static String md5(String inputText) {
return encrypt(inputText, "md5");
}
/**
* sha-1加密
*
* @param inputText
* @return
*/
public static String sha(String inputText) {
return encrypt(inputText, "sha-1");
}
/**
* md5或者sha-1加密
*
* @param inputText
* 要加密的内容
* @param algorithmName
* 加密算法名称:md5或者sha-1,不区分大小写
* @return
*/
private static String encrypt(String inputText, String algorithmName) {
if (inputText == null || "".equals(inputText.trim())) {
throw new IllegalArgumentException("请输入要加密的内容");
}
if (algorithmName == null || "".equals(algorithmName.trim())) {
algorithmName = "md5";
}
String encryptText = null;
try {
MessageDigest m = MessageDigest.getInstance(algorithmName);
m.update(inputText.getBytes("UTF8"));
byte s[] = m.digest();
return hex(s);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return encryptText;
}
/**
* 返回十六进制字符串
*
* @param arr
* @return
*/
private static String hex(byte[] arr) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < arr.length; ++i) {
sb.append(Integer.toHexString((arr[i] & 0xFF) | 0x100).substring(1, 3));
}
return sb.toString();
}
获取全球id方法
// ----------------------------------------------获取全球id
public static String getUUID() {
try {
UUID randomUUID = UUID.randomUUID();
return randomUUID.toString().replaceAll("-", "");
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
}
}
String类型转换成Date类型方法
// ----------------------------------------------String类型转换成Date类型
public static Date stringToDate(String str) {
// 获得SimpleDateFormat类,我们转换为yyyy-MM-dd的时间格式
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
// 使用SimpleDateFormat的parse()方法生成Date
date = simpleDateFormat.parse(str);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
Date类型转换成String类型方法
// ----------------------------------------------Date类型转换成String类型
public static String dateToString(Date date) {
// 获得SimpleDateFormat类
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
// 返回字符串
return simpleDateFormat.format(date);
}
Date类型加上指定天数,获得相应的日期
// ---------------------------------------Date类型加上指定天数,获得相应的日期
public static Date dateAddDay(Date date, Integer day) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) + day);
return calendar.getTime();
}
Date类型比较大小
// ------------------------------------------Date类型比较大小
public static Integer dateCompareToDate(Date date, Date anotherDate) {
// 方法一
// 0:表示相等 1:表示date大于anotherDate -1:表示date小于anotherDate
Integer flage = date.compareTo(anotherDate);
return flage;
// 方法二
// true:表示date大于anotherDate false:表示date小于anotherDate
// Boolean temp = date.getTime() > anotherDate.getTime();
// return temp;
}
自动生成由10位数字组成的账号
public static String getAccountNumber() {
Random random = new Random();
String str = "";
while (str.length() < 10) {
int num = random.nextInt(10);
if (!(str.length() == 0 && num == 0)) { //首位数字不能为0, 当字符串长度为0,表示即将添加首位数字
str += num;
}
}
return str;
}