浅谈MD5加密算法在网络安全中的应用
2018-09-12宋俊芳王聪华
◆杨 怀 宋俊芳 王聪华
浅谈MD5加密算法在网络安全中的应用
◆杨 怀 宋俊芳 王聪华
(西藏民族大学信息工程学院 陕西 712082)
随着信息化和数字化社会的发展,人们对网络信息安全和保密的重要性认识不断提高,加密算法被广泛应用到WEB程序中。本文基于MD5算法理论,用ASP对MD5算法在WEB程序中的安全应用进行了探讨。
MD5;WEB程序;ASP
0 引言
随着信息化和数字化社会的发展,越来越多的互联网站点被广泛应用到了各行各业之中,而使用这些网站的用户信息的安全性更是受到了日益的重视。在保存和传输过程中的数据信息都面临着数据库被攻击者获取的威胁,因而数据信息的加密技术在此过程中显得尤其重要。本文研究利用MD5算法原理加密用户数据在WEB程序中的应用,从而增强网络安全的保密性和抗攻击性。
1 MD5算法
MD5(message-digest algorithm 5)算法是一种被广泛使用的密码散列算法,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5算法由罗纳德·李维斯特设计,于1992年公开,用以替换MD4算法。这套算法的程序在 RFC 1321 中被加以规范。MD5算法是把任意长度的字符串(即明文)转换为128位的二进制数(即密文)。这个转换过程是单向的、不可逆的,也就是说MD5算法只能把明文转换为密文,密文是没有办法解密得到明文的。同时,该算法也是具有唯一性的要求,即不同的明文加密得到的密文永远是不同的,并且同一明文得到的密文永远是不变的。
MD5算法的原理就是把任意的数据转换为128位的二进制数。MD5算法首先对输入的数据进行填充,使得填充后的数据为N*512位(其中N为正整数),即数据位长是512的整数倍。填充的方法是在数据的后面填充一个1和数个0,直到其位长满足对512求余的结果是448为止,然后用一个64位的二进制数表示数据的原始长度,填充到数据后面。这样,经过填充,数据位长满足512位的整数倍条件。
然后再对数据按照每组数据位长512进行分组处理。然后每个512长度的组再进行分组,分成16个小组,每个小组位长为36个字符。分组完成后,设置4个32位的链接变量,依次对每个512位长的小组进行4轮64步的一次性非线性函数运算。最后得到4个32位的数据,最后得到的结果为4 位32 位值所级联的128 位值,即32 位16 进制的MD5 码。
2 MD5算法在WEB中的应用
本文以ASP程序为例探讨MD5在WEB程序中的应用, ASP是一个位于服务器端的脚本运行环境,通过将VB语言嵌入HTML中进行程序即网站后台文件的编写。以下探究MD5加密算法在ASP中的实际应用。
本文所用WEB的加密方法是首先对用户的密码信息进行MD5算法加密,把密码转换成32位的16进制数,利用ASP自带MID函数截取加密后的数据从第4位到21位,然后保存到数据库中,进而提高安全性。
用户在网站注册或者直接添加过程中,数据首先传递到加密程序,加密程序首先通过代码“”引用包含自定义MD5函数的程序,即可直接调用MD5程序。然后使用MD5和MID函数“Admin_Pass =Mid(md5(Admin_Pass,32),4,18)”对密码进行加密和截取,本文所用密码为12345,MD5加密之后为“827ccb0eea8a706c4c34a16891f84e7b”,截取之后是“ccb0eea8a706c4c34a”,最后存放到数据库中。如图1所示。
图1 加密后的数据在数据库中的存放
在用户信息保存好之后,用户即可登录,然后检测程序调用MD5加密函数,对用户的密码实施加密,把加密后的数据从第4位起截取18位装载到数据库中进行比对验证,即可判断是否为正确用户,从而完成整个登录过程。具体实现代码如图2所示。
图2 验证代码
3 结束语
本文探究了MD5算法的相关原理,利用MD5加密算法进行了WEB程序设计,增强了数据在网络信息中的安全性
[1]沈璇.MD5加密模式的差分故障分析[J].应用科学学报, 2015.
[2]徐蕊.MD5加密算法的研究与应用[J].中国新通信,2015.
[3]任杰麟.MD5加密算法的安全性分析与改进[J].农业图书情报学刊,2017.
[4]许杰,麻军平,何虎等.基于VLIW DSP 加密与认证算法的实现[J]. Journal of Computer Applications,2013.
西藏民族大学校内教改项目(2017355)。