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
}
}
java-MD5加密
最新推荐文章于 2024-07-06 16:36:02 发布