Java-MD5加密
密码全是明文,防止内部人员监守自盗,改成暗文密码加密 一般使用 MD5加密特点:一旦加密之后 ,就不可解密光是MD5加密 还不够安全,这时候就要添加盐值:盐值作用:让你的密码更加安全,MD5:支持加密次数MD5加密三个概念:MD5常规加密,为了让你的密码更加安全,MD5加密还要加盐值,为了让你的密码超级安全,它支持加密次数MD5Utils.encrypByMd5(String类型的密码)就执行加密
·
密码全是明文,防止内部人员监守自盗,改成暗文
密码加密 一般使用 MD5
加密特点:一旦加密之后 ,就不可解密
光是MD5加密 还不够安全 ,这时候就要添加盐值:
盐值作用:让你的密码更加安全,
MD5:支持加密次数
MD5加密三个概念: MD5常规加密,为了让你的密码更加安全,MD5加密还要加盐值,为了让你的密码超级安全,它支持加密次数 MD5Utils.encrypByMd5(String类型的密码)就执行加密
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Utils {
/**
* 加密
* @param context
*/
public static String encrypByMd5(String context) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(context.getBytes());//update处理
byte [] encryContext = md.digest();//调用该方法完成计算
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < encryContext.length; offset++) {//做相应的转化(十六进制)
i = encryContext[offset];
if (i < 0) i += 256;
if (i < 16) buf.append("0");
buf.append(Integer.toHexString(i));
}
return buf.toString();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
public static void main(String[] args) {
//加密
System.out.println(MD5Utils.encrypByMd5("123456"));
//加密加盐 查询用户时,除了查到加密密码外,还能查到颜值。 把输入密码+盐值加密和数据库存放密码比对就OK
System.out.println(MD5Utils.encrypByMd5("123456"+ StrUtils.getComplexRandomString(32)));
System.out.println(MD5Utils.encrypByMd5("123456"+ StrUtils.getComplexRandomString(32)));
System.out.println(MD5Utils.encrypByMd5("123456"+ StrUtils.getComplexRandomString(32)));
}
}
更多推荐
已为社区贡献22条内容
所有评论(0)