简单的MD5加密算法是无法达到绝对的安全的,普通的MD5加密算法有多种暴力破解方式,如果想要保证信息系统或者网站的安全,就需要对MD5加密算法进行改进,增强其安全性,下面我就来谈谈如何在MD5加密算法的基础上进行改进!
目前MD5加密算法的缺陷
目前的信息系统中,对MD5加密方法的利用主要通过在脚本页面中引用包含Md5加密函数代码的文件,以asp脚本为例,在需要调用的页面中加入,md5.asp为MD5加密函数代码文件,然后直接调用函数MD5(sMessage)即可,MD5加密后的值有16位和32位之分,如果在md5加密函数中使用的是MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d)),则表示是32位,如果使用的是MD5=LCase(WordToHex(b) & WordToHex(c)),则表示是16位。例如对明文为“123456”的值进行加密,其md5值有两个,如下所示:
A=“123456” password=md5(A)= 49ba59abbe56e057 password=md5(A)= e10adc3949ba59abbe56e057f20f883e |
如果将加密的MD5值直接保存在数据库,当网站存在注入或者其它漏洞时,入侵者极有可能获取用户的密码值,通过md5在线查询或者暴力破解可以得到密码。
Md5加密算法的改进方法
本文提到的方法是在使用Md5加密算法对明文(口令)加密的基础上,对密文进行了改变,在密文中截取一段数据并丢弃,然后使用随机函数填充被丢弃的数据,且整个过程不改变md5加密后的位数。
其加密过程用算法描述如下:
(1)对明文password进行md5加密,获得密文md5(password)。
(2)使用截取函数截取加密后的密文,从第beginnumber位置开始截取number位数值,得到密码A,其中A=left(md5(password),beginnumber-1)。
(3)使用截取函数截取加密后的明文的number位数后的值B,其中 B=right(md5(password),md5-digit -(beginnumber+number-1))。
(4)使用随机函数gen_key(number)填充被截取的number的值。
(5)变换后的密码值为encrypt_password =A&get_key(number)&B
变量说明:
password:客户端提交的原始密码 encrypt_password:经过处理后的密码 beginnumber:对原始密码开始截取的位置(0number:对密码截取位数(0md5-digit:md5取16位或者32位值 |
解密过程跟加密过程有些类似,先对输入的明文进行加密,接着从beginnumber处截取前半部分得到A′,后半部分得到B′,然后从数据库中读出密码中的A和B部分,最后如果A=A′并且B=B′,则认为用户输入的密码跟数据库中的密码是匹配的。
虽然目前有很多诸如SQL注入、跨站攻击等攻击MD5加密算法的方法,可以较容易的获取数据库中的值,但通过本方法对MD5加密算法进行改进后,在网站或者系统代码泄露前,其数据是相对安全的。
小知识之MD5加密算法
MD5即Message-Digest Algorithm 5,用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。
局域网监控软件可以监控外网吗?一文解析
如今,随着数字办公的日益普及,局域网监控软件已经成为企业网络管理不可或缺的一部分。然而,局域网监控软件能否监控外网一直困扰着许多企业网络工程师。本文将深入探讨这一问题,分析局域网监控软件在外网监控中能力与局限性。一、局域网监控软件的主要功能局域网监控软件是一种基于桌面管理软件和监控系统的综合监控工具。它通常具有以下基本...
安企神网络安全准入系统
安企神软件网络安全准入系统是一种高效、灵活、易于管理的网络密钥管理解决方案,旨在为公司网络环境提供全面的安全保障。通过身份认证、健康体检和安全设置评定,此系统保证只有授权的设备与用户才能浏览公司的内部网络资源,进而最大限度地降低安全隐患。一、网络安全准入系统主要功能1、用户身份认证安企神网络准入系统选用严格的身份认证机...
网络准入设备:守护企业数字资产的第一道防线
在数字时代,公司网络如同公司的神经系统,连接着每个业务单元,背负着数据的流动与价值的转换。但是,随着网络环境的日益繁杂,网络威协也非常大。怎样确保公司网络的安全平稳已成为每家企业必须面对的挑战。做为这条防线的门将,网络准入设备发挥了越来越重要的作用。一、什么叫网络准入设备?网络准入设备是一种专门给控制和管理网络设备访问...
企业数据防泄密软件有哪些?企业数据防泄密软件大盘点
在当今数字时代,公司数据的安全至关重要。为了保护公司的核心资产和客户资料免遭威胁,很多企业都在寻找高效的数据防泄密软件。今天我们就来盘点一下市场上广受好评的几款公司数据防泄密软件,帮助大家更好的了解和选择适合自己公司的防泄漏解决方案。一、安企神软件安企神软件集数据加密、密钥管理、行为审计等多种功能于一体,为用户提供全方...
揭秘数据加密系统的加密过程
在数字时代,数据安全已是企业和个人不可忽视一个重要难题。数据加密系统做为数据安全重要防御,在加密过程中非常重要。本文将详尽揭露数据加密的全面加密过程,以帮助您更好的了解这一关键要素。一、数据加密系统的前提数据加密系统通常包括三个核心部分:加密算法、密钥管理与信息加密破译过程。加密算法是数据加密的关键,它决定了如何把明文...