加盐方式:0-9的数字中把0和9交换、1和8交换、2和7交换……
使用第三方的commons-codec jar包
下载地址:
dist.apache.org
release/->commons/->codec/->binaries/->commons-codec-1.12-bin.zip
或
www.apache.org
commons/->codec/->Download->commons-codec-1.12-bin.zip
下载后解压缩找到commons-codec-1.12.jar,在eclipse项目中新建一个lib文件夹,把jar包复制进去,右键build path–add to build 。
package com.oracle.core;
import org.apache.commons.codec.digest.DigestUtils;
public class Md5Utils
{
public static void main(String[] args)
{
new Md5Utils().md5salt();
}
public void md5(){
String keyword="i love you";
String s=DigestUtils.md5Hex(keyword);
System.out.println(s);
}
public void md5salt()
{
String keyword="i love you";
String md5=DigestUtils.md5Hex(keyword);
System.out.println("md5加密后:"+"\n"+md5);
String md5salt=md5PlusSalt(keyword);
System.out.println("加盐后:"+"\n"+md5salt);
String word= md5MinusSalt(md5salt);
System.out.println("解密后:"+"\n"+word);
}
public String md5PlusSalt(String keyword)
{
String md5=DigestUtils.md5Hex(keyword);
char[]cArray=md5.toCharArray();
for(int i=0;i<cArray.length;i++)
{
if(cArray[i]>=48&&cArray[i]<=57)
{
cArray[i]=(char)(105-cArray[i]);
}
}
return "".valueOf(cArray);
}
public String md5MinusSalt(String md5)
{
char[]cArray=md5.toCharArray();
for(int i=0;i<cArray.length;i++)
{
if(cArray[i]>=48&&cArray[i]<=57)
{
cArray[i]=(char)(105-cArray[i]);
}
}
return "".valueOf(cArray);
}
}
本文介绍了在Java中如何实现MD5加密,并结合加盐方式增强安全性。加盐方法为数字0到9进行特定交换,同时推荐使用Apache Commons Codec库,提供了便捷的加密解密功能。读者可以通过指定网址下载Apache Commons Codec 1.12版本的jar包,导入到Eclipse项目中,完成加密解密操作。
2080

被折叠的 条评论
为什么被折叠?



