ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)
http://ascii.911cha.com/
工具类如下:
import org. apache. commons. codec. digest. DigestUtils;
import java. math. BigInteger;
import java. security. MessageDigest;
public class MD5 {
public static String md5 ( String dateString) throws Exception {
MessageDigest md5 = null;
byte[ ] digest = MessageDigest. getInstance ( "md5" ) . digest ( dateString. getBytes ( "utf-8" ) ) ;
String md5code = new BigInteger ( 1 , digest) . toString ( 16 ) ;
for ( int i = 0 ; i < 32 - md5code. length ( ) ; i++ ) {
md5code = "0" + md5code;
}
return md5code;
}
。
public static 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 String. valueOf ( cArray) ;
}
解密+ 盐
public static 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 String. valueOf ( cArray) ;
}
}
测试类
import com. example. demo. system. util. MD5;
import org. apache. commons. codec. digest. DigestUtils;
public class Md5Test{
public static void main ( String[ ] args) {
String keyword= "i love you" ;
String md5= DigestUtils. md5Hex ( keyword) ;
System. out. println ( "md5加密后:" + "\n" + md5) ;
String md5salt= MD5. md5PlusSalt ( keyword) ;
System. out. println ( "加盐后:" + "\n" + md5salt) ;
String word= MD5. md5MinusSalt ( md5salt) ;
System. out. println ( "解密后:" + "\n" + word) ;
}
}