java-MD5加密

来源:互联网 发布:美国对外投资数据 编辑:程序博客网 时间:2024/06/05 11:21
import java.security.MessageDigest;import org.junit.Test;import sun.misc.BASE64Encoder;public class MD5Demo {    @Test    public void md5Demo() throws Exception{        String pwd="1234";        MessageDigest msg=MessageDigest.getInstance("MD5");        byte bs[]=msg.digest(pwd.getBytes());//把pwd.getBytes()加密生成bs[]数组        for(byte b:bs){            System.out.println(b);        }        BASE64Encoder en=new BASE64Encoder();//sun.misc.BASE64Encoder        //API文档:应用程序接口        //而sun.misc.BASE64Encoder不在API内(BASE64Encoder依赖一个java中没有开放的类),会随便变,不可靠,不建议使用        String s=en.encode(bs);        System.out.println(s);//gdyb21LQTcIANtvYMT7QVQ==    }    @Test    public void md5Demo2() throws Exception{        String pwd="12340a";        MessageDigest msg=MessageDigest.getInstance("MD5");        byte bs[]=msg.digest(pwd.getBytes());//把pwd.getBytes()加密生成bs[]数组        //建议采用的方式--手动生成MD5密码(变种)        String str="";        for(byte b:bs){//          String s=Integer.toHexString(b);            String s=Integer.toHexString(b&0xff);            if(s.length()==1){                s+="D";            }            str+=s;        }//      System.out.println(bs.length);//16//      System.out.print(str.length()+":");//72//      System.out.println(str);//6cffffff844e165cfffffffb79ffffffd338ffffffae47ffffff89ffffffeeffffff8a5b        System.out.println(bs.length);//16        System.out.print(str.length()+":");//30        System.out.println(str);//6c844e165cfb79d338ae4789ee8a5b    }}
0 0