import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
import org.junit.Test;
import sun.misc.BASE64Encoder;
public class OftenUseUtil {
// 获得UUID
public static String getUUID() {
return UUID.randomUUID().toString().replace("-", "");
}
// 获得当前时间 年月日时分秒。。。
public static String getDateByYMDHMS() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowDate = sdf.format(new Date()).toString();
return nowDate;
}
// 获得当前时间 年月日
public static String getDateByYMD() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String nowDate = sdf.format(new Date()).toString();
return nowDate;
}
/**
* 利用MD5进行加密 * @param str 待加密的字符串 * @return 加密后的字符串 * @throws
* NoSuchAlgorithmException 没有这种产生消息摘要的算法 * @throws
* UnsupportedEncodingException
*/
public static String EncoderByMd5(String str)
throws NoSuchAlgorithmException, UnsupportedEncodingException {
// 确定计算方法
MessageDigest md5 = MessageDigest.getInstance("MD5");
BASE64Encoder base64en = new BASE64Encoder();
// 加密后的字符串
String newstr = base64en.encode(md5.digest(str.getBytes("utf-8")));
return newstr;
}
/**
* 判断用户密码是否正确
* * @param newpasswd 用户输入的密码
* * @param oldpasswd
* 数据库中存储的密码--用户密码的摘要
* * @return * @throws NoSuchAlgorithmException
* * @throws UnsupportedEncodingException
*/
public static boolean checkpassword(String newpasswd, String oldpasswd)
throws NoSuchAlgorithmException, UnsupportedEncodingException {
if (EncoderByMd5(newpasswd).equals(oldpasswd))
return true;
else
return false;
}
@Test
public void wan() {
System.out.println("当前时间年月日:" + OftenUseUtil.getDateByYMD());
System.out.println("当前时间年月日时分秒:" + OftenUseUtil.getDateByYMDHMS());
System.out.println("UUID是" + OftenUseUtil.getUUID());
System.out.println("测试MD5加密技术:开始");
String str = "nihaoa123";
System.out.println("加密前的字符串为:" + str);
try {
String md5_str = OftenUseUtil.EncoderByMd5(str);
System.out.println("加密完成后的字符串为:" + md5_str);
System.out.println("判断加密前的字符串跟加密后的字符串是否一致!");
String str1="nihaoa123";
boolean flag=OftenUseUtil.checkpassword(str1,md5_str);
System.out.println("是否一致?"+flag);
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
十三、java 常用工具类使用UUid、日期处理、MD5加密
最新推荐文章于 2024-07-02 16:11:46 发布