MD5加密
来源:互联网 发布:网络借贷平台应用 编辑:程序博客网 时间:2024/06/10 17:59
package unicom_dsp_front.common.utils;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.codec.binary.Hex;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 使用MD5对密码进行加密
*
* @author shixiaoting
* @date 2016年3月22日 上午9:57:38
*
*/
public class Md5PwdEncoder {
private static final Logger LOG = LoggerFactory.getLogger(Md5PwdEncoder.class);
private static final String SALT = Md5PwdEncoder.class.getSimpleName();
private static final String ALGORITHM = "MD5";
private static MessageDigest messageDigest = getMessageDigest();
/**
* 密码加密
*
* @param rawPass
* 未加密密码
* @return 加密后密码
*/
public static String encodePassword(String rawPass) {
String saltedPass = mergePasswordAndSalt(rawPass, SALT);
try {
byte[] digest = messageDigest.digest(saltedPass.getBytes("UTF-8"));
return new String(Hex.encodeHex(digest));
} catch (UnsupportedEncodingException e) {
LOG.error("UTF-8 not supported!", e);
}
return null;
}
private static final MessageDigest getMessageDigest() {
try {
return MessageDigest.getInstance(ALGORITHM);
} catch (NoSuchAlgorithmException e) {
throw new IllegalArgumentException("No such algorithm [" + ALGORITHM + "]");
}
}
private static String mergePasswordAndSalt(String password, String salt) {
if (password == null) {
password = "";
}
return password + "{" + salt + "}";
}
}
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.codec.binary.Hex;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 使用MD5对密码进行加密
*
* @author shixiaoting
* @date 2016年3月22日 上午9:57:38
*
*/
public class Md5PwdEncoder {
private static final Logger LOG = LoggerFactory.getLogger(Md5PwdEncoder.class);
private static final String SALT = Md5PwdEncoder.class.getSimpleName();
private static final String ALGORITHM = "MD5";
private static MessageDigest messageDigest = getMessageDigest();
/**
* 密码加密
*
* @param rawPass
* 未加密密码
* @return 加密后密码
*/
public static String encodePassword(String rawPass) {
String saltedPass = mergePasswordAndSalt(rawPass, SALT);
try {
byte[] digest = messageDigest.digest(saltedPass.getBytes("UTF-8"));
return new String(Hex.encodeHex(digest));
} catch (UnsupportedEncodingException e) {
LOG.error("UTF-8 not supported!", e);
}
return null;
}
private static final MessageDigest getMessageDigest() {
try {
return MessageDigest.getInstance(ALGORITHM);
} catch (NoSuchAlgorithmException e) {
throw new IllegalArgumentException("No such algorithm [" + ALGORITHM + "]");
}
}
private static String mergePasswordAndSalt(String password, String salt) {
if (password == null) {
password = "";
}
return password + "{" + salt + "}";
}
}
0 0
- MD5加密
- MD5加密
- md5加密
- MD5加密
- md5加密
- MD5加密
- MD5加密
- md5 加密
- MD5加密
- md5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- mysql中FIND_IN_SET的使用方法
- iOS学习之——属性声明的属性与所有权修饰符的对应关系
- SQL Server索引的维护 - 索引碎片、填充因子
- 表单提交的三种方法
- PHP初始话
- MD5加密
- JSP生命周期 ,Servlet生命周期
- Meta 标签 apple-mobile-web-app-
- 常用多媒体文件格式
- java微信开发引入jssdk一直报invalid url domain错的其他原因
- 计算原理课程笔记(一)
- Java学习笔记之多态
- orcale数据库常用查询语句
- 第十四周阅读程序(3)