Md5,base64加密
程序员文章站
2024-03-20 09:54:28
...
MD5的加密是不可逆的,而base64的加密是可逆的,下面看下具体的实现
import com.sun.org.apache.xerces.internal.impl.dv.util.HexBin;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
public class TestDemo01 {
public static void main(String[] args) throws IOException, NoSuchAlgorithmException {
// base64("helloword");
md5("helloword");
}
//base64加密
public static void base64(String s) throws IOException {
//建立BASE64Encoder对象
BASE64Encoder encoder=new BASE64Encoder();
//进行加密
String encode =encoder.encode(s.getBytes());
System.out.println("加密后:"+encode);
//解密
BASE64Decoder decoder =new BASE64Decoder();
String decode = new String(decoder.decodeBuffer(encode));
System.out.println("解密后:"+decode);
}
//Md5加密,md5加密是不可逆的
public static void md5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException {
byte[] digest = null;
MessageDigest md5 = MessageDigest.getInstance("md5");
digest = md5.digest(str.getBytes("utf-8"));
//16是表示转换为16进制数
String md5Str = new BigInteger(1, digest).toString(16);
System.out.println(md5Str);
}
}
下一篇: 得分——UVa1585