java 实现md5加密、加盐和解密
加盐方式:0-9的数字中把0和9交换、1和8交换、2和7交换……
使用第三方的commons-codec jar包 下载地址: release/->commons/->codec/->binaries/->commons-codec-1.12-bin.zip 或 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加密后:"+" "+md5); String md5salt=md5PlusSalt(keyword); System.out.println("加盐后:"+" "+md5salt); String word= md5MinusSalt(md5salt); System.out.println("解密后:"+" "+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); } }
下一篇:
找出数组中第一个重复数字