MD5加密

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 + "}";
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值