MD5加密

本文介绍了MD5算法的基本概念及其在信息摘要中的应用。MD5是一种将任意长度的信息压缩成固定长度输出的加密算法,适用于数字签名等场景。文章还提供了一个使用Java实现MD5加密的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值