欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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);
    }
}

 

相关标签: java web