MD5加密

来源:互联网 发布:mysql 5.7 mac dmg 编辑:程序博客网 时间:2024/04/28 06:05

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法)
作用:是让大容量信息在用数字签名软件签署私人密匙前被”压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑。这三个算法的描述和C语言源代码在Internet RFCs 1321中有详细的描述,这是一份最权威的文档,由Ronald L. Rivest在1992年8月向IETF提交。

类:MessageDigest
用法:
因为BASE64Encoder在api中没有,所有是不对外开放的
我们自己写一段替代BASE64Encoder类中encode()方法的代码

String pwd="1234";        String pwd2="";        try {            MessageDigest md=MessageDigest.getInstance("MD5");            byte[] buf=md.digest(pwd.getBytes());            for(byte b:buf){                String s=Integer.toHexString(b&0xff);//16进制去后面两位                if(s.length()==1){                    s=s+"f";//保证是32位的数,可以把'f'换成其它的16进制数如'a'                }//              if(Math.abs(b)<16){//                  s=s+"f";//              }                pwd2=s+pwd2;            }            System.out.println(pwd2+","+pwd2.length());        } catch (NoSuchAlgorithmException e) {            e.printStackTrace();        }    }
0 0
原创粉丝点击