java-MD5加密

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

    }




}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值