md5加密算法详解(md5加密原理)

  • 发布时间:2024-01-25 22:30:34 来源:
标签:
导读 你们好,最近小未来发现有诸多的小伙伴们对于md5加密算法详解,md5加密原理这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看

你们好,最近小未来发现有诸多的小伙伴们对于md5加密算法详解,md5加密原理这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

1、MD5算法是典型的消息摘要算法,其前身有MD2、MD3和MD4算法,它由MD4、MD3和MD2算法改进而来。

2、不论是哪一种MD加密算法,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。如果将这个128位的二进制摘要信息换算成十六进制,可以得到一个32位的字符串,因此我们加密完成后的16进制的字符串长度为32位。

3、下面我们将通过java代码来实现md的加密代码并进行测试。jdk自身所带的支持md2以及md5的加密实现。本篇都将介绍如何编写。首先我们在myeclipse首页导航菜单处点击File,然后选择new,然后选择Java Project。进入创建java项目界面。

4、然后在项目创建界面输入本次测试所用的项目名称:MdJDKUtil,选择JRE环境本篇选择为1.7,选择完毕后点击Finish。完成项目的创建。

5、然后右击项目,选择new,然后选择class。进入创建实体类界面。具体操作如下图所示。

6、然后在新建类界面,输入本次用的包名称:com.md,类名称为:md5JdkUtil,勾选自动生成main函数。以上信息填写完毕后,点击Finish,完成实体类的创建。具体操作如下图所示。

7、由于本篇中md加密后的信息最终以16进制输出,因此我们首先编写byte数组转换为16进制并以字符串形式展现。首先我们创建方法名称:convertByteToHexString,此方法要一个传入参数为byte数组,并最终返回String类型。具体代码实现如下图所示。

8、然后我们编写md2加密算法的实现。方法名称为:md2Jdk,此方法需要传入一个参数String(原始信息),返回为String(加密后信息)。此方法内加密核心主要利用了jdk自带的MessageDigest类,此类位于:java.security包下。具体实现代码如下图所示。

9、然后我们编写md5加密算法实现。方法名称为:md5Jdk,同样需要传入一个参数String(原始信息),返回为String(加密后信息)。此方法的核心方法同md2一样也是利用了MessageDigest类的方法。具体实现如下图所示。

10、下面我们编写测试类。在main函数内调用写好的两个加密方法:md2Jdk,md5Jdk。传入相同的参数hello jdk md。分布对加密后的信息进行输出。具体实现代码如下图所示。

11、最后我们运行程序查看结果。可以看到md2以及md5加密算法的结果,加密后信息长度都为32位16进制。由于此方法不可逆,因此没有解密方法。具体效果如下图。

以上就是md5加密原理这篇文章的一些介绍,希望对大家有所帮助。

  • 免责声明:本文由用户上传,如有侵权请联系删除!