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

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。