计算摘要:
/**
* 利用MD5进行加密
* @author jitwxs
* @version 创建时间:2017年8月15日 下午5:25:15
* @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;
}
验证摘要
/**
* 判断用户密码是否正确
* @author jitwxs
* @version 创建时间:2017年8月15日 下午5:26:37
* @param password 密码
* @param passwordAbstract 密码的摘要
* @return
* @throws NoSuchAlgorithmException
* @throws UnsupportedEncodingException
*/
public static boolean checkpassword(String password,String passwordAbstract) throws NoSuchAlgorithmException, UnsupportedEncodingException{
if(EncoderByMd5(password).equals(passwordAbstract))
return true;
else
return false;
}
常见问题:
无法导入Base64Encoder?
产生原因:
Base64Encoder并不属于JDK标准库范畴,但是又包含在了JDK中。
解决方法:
选择项目的Java Build Path
设置项,再选择Libraries
标签,Add External Jars
添加rt.jar包即可。