md5加密算法介绍以及java实现md5加密算法
我们平时做网站设计时候在用户名密码处,密码经常采用md5加密方式,这样即便数据库被其他人弄走仍然能保障下用户的隐私。本篇就简单介绍下md5加密算法以及用一个java实例实现md5加密。
操作方法
(01)MD5算法是典型的消息摘要算法,其前身有MD2、MD3和MD4算法,它由MD4、MD3和MD2算法改进而来。不论是哪一种MD加密算法,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。如果将这个128位的二进制摘要信息换算成十六进制,可以得到一个32位的字符串,因此我们加密完成后的16进制的字符串长度为32位。
(02)下面我们将通过java代码来实现md的加密代码并进行测试。jdk自身所带的支持md2以及md5的加密实现。本篇都将介绍如何编写。首先我们在myeclipse首页导航菜单处点击File,然后选择new,然后选择Java Project。进入创建java项目界面。
(03)然后在项目创建界面输入本次测试所用的项目名称:MdJDKUtil,选择JRE环境本篇选择为1.7,选择完毕后点击Finish。完成项目的创建。
(04)然后右击项目,选择new,然后选择class。进入创建实体类界面。具体操作如下图所示。
(05)然后在新建类界面,输入本次用的包名称:,类名称为:md5JdkUtil,勾选自动生成main函数。以上信息填写完毕后,点击Finish,完成实体类的创建。具体操作如下图所示。
(06)由于本篇中md加密后的信息最终以16进制输出,因此我们首先编写byte数组转换为16进制并以字符串形式展现。首先我们创建方法名称:convertByteToHexString,此方法要一个传入参数为byte数组,并最终返回String类型。具体代码实现如下图所示。
(07)然后我们编写md2加密算法的实现。方法名称为:md2Jdk,此方法需要传入一个参数String(原始信息),返回为String(加密后信息)。此方法内加密核心主要利用了jdk自带的MessageDigest类,此类位于:rity包下。具体实现代码如下图所示。
(08)然后我们编写md5加密算法实现。方法名称为:md5Jdk,同样需要传入一个参数String(原始信息),返回为String(加密后信息)。此方法的核心方法同md2一样也是利用了MessageDigest类的方法。具体实现如下图所示。
(09)下面我们编写测试类。在main函数内调用写好的两个加密方法:md2Jdk,md5Jdk。传入相同的参数hello jdk md。分布对加密后的信息进行输出。具体实现代码如下图所示。
(10)最后我们运行程序查看结果。可以看到md2以及md5加密算法的结果,加密后信息长度都为32位16进制。由于此方法不可逆,因此没有解密方法。具体效果如下图。
特别提示
md类加密算法不可逆,经常用于信息完整性的校验,以及用户敏感信息的存储。
-
怎么快速通过新浪微博认证
新浪微博认证是身份的象征,通过新浪微博认证后,可以增加用户的影响力,可以享有新浪微博特殊权限,可以迅速增加粉丝,可以导入到新浪博客认证。通过新浪微博认证后,用户微博名字后面会加一个橙色的大V。很多微博好友都想通过新浪认证,怎么快速通过新浪微博认证呢?欢迎大...
-
怎么做手游推广
现在玩手游的人越来越多,手游市场也开阔起来,每天都会有新的游戏出现,竞争也就显得越发的激烈。想要占据一定的市场,那就需要进行推广,寻找合适的方式,加上游戏本身的质量,这样才会别更多人所了解。操作方法(01)应用商店。可以寻求相关的手游应用商店合作,把自己所要推广...
-
华为浏览器怎么设置默认搜索引擎
我们在使用华为或者荣耀手机时,会使用手机自带的华为浏览器进行网页的浏览,搜索相关的讯息等。如何更改华为手机浏览器默认的搜索引擎,选择其他的搜索引擎,本文将详细介绍。操作方法(01)我们打开自己的华为或荣耀系列手机后,选择最下方的系统自带的“浏览器”进入。(02...
-
怎么成为网易云阅读的作者
最近看到网易云阅读里面竟然有作者选项,所以就来分享下如何成为网易云阅读的作者。操作方法(01)要加入网易云阅读,首先就是先注册一个网易的帐号,一般推荐网易的163邮箱帐号。(02)有了网易邮箱之后,就可以登录网易云阅读的首页,用邮箱登录。(03)登录网易云阅读之后,就点击...