基于MD5加密算法系统安全登录研究

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于MD5加密算法的系统安全登录研究

摘要:现在许多业务系统都是基于网络环境的,虽然满足了系统应用方便,共享性好的要求,但同时在系统安全上也带来了一些问题。如何消除安全隐患,增强登录模块的安全性,这是摆在系统建设者面前的一道课题。md5即message-digest algorithm 5(信息-摘要算法5),用于确保信息传输完整一致,是计算机广泛使用的

杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已

有md5实现。系统可以借助md5算法来强化安全措施,避免权限外用户浏览信息,从而提高业务系统的保密性。

关键词:md5;加密;安全登录;算法

中图分类号:tp393.08文献标识码:a文章编号:1007-9599 (2013) 06-0000-02

1系统登录安全问题概述

许多基于互联网的业务系统都提供有权限的资源服务,用户注册通过后,登录系统,才可以浏览信息参与系统的操作。在注册过程中填写的信息,涉及到用户的个人资料等重要信息,泄露后会造成极大的隐患。

在各类业务系统中,通常会在数据库中建立用户信息数据表。数据表中包含用户用户名、密码等信息。一条用户的信息称为一条数据库的记录。用户登录数据库时,会先通过网络程序访问数据库,然后在数据库中调取对应的用户名和密码。通过校验用户输入的用户名、密码,与数据库中的信息进行比对,如果数值相同,才能通

过校验,继而进入系统。如果校验结果不匹配,则退出登录程序。在软件设计领域,有多种校验用户信息的技术和算法,也可以同时采用多种安全技术,来强化系统的安全性。系统在校验密码来验证用户身份的真伪,虽然逻辑上可行性较高,但是难以避免口令猜解技术带来的隐患。此外,黑客也会在通信信道上探窥信息,所以,传输明文口令容易被黑客截获,从而导致灭顶之灾。由此,人们探索出口令加密的传输方式。

为确保各类业务系统的安全,对数据库等相关信息加密是非常重要的。即便有黑客进入了数据库,但不能解密,仍然无法得到数据库中的原信息。在加密时,要恰当选择需要加密的数据,以不超过系统最大负荷为前提。在各类业务系统登录模块中,md5算法加密得到了广泛应用。

2md5算法在系统安全登录中的应用

md5即message-digest algorithm 5(信息-摘要算法5),用于确保信息传输完整一致,是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有md5实现。考虑到各类基于网络的业务系统所面临的安全问题,可以借助md5算法来强化安全措施,避免权限外用户浏览信息,从而提高业务系统的保密性。md5算法在系统安全登录中的应用主要有:

2.1系统登录方面md5算法的应用。现在,大部分的业务系统都有在登录页面进行验证权限的算法模块,用户登录后输入用户名和密码,系统把输入的信息以明文方式传递到服务器端来校验,有的

数据库中也以明文形式存储用户名和密码,这都存在着极大的隐患。一旦黑客伺机进入数据库,则数据库中的用户信息就暴露无遗,从而给系统带来不可预见的损失。

为了强化系统的安全性,避免用户信息泄露,在数据库中要以md5算法加密后的形式来存储,不可用明文或可逆算法来加密。在登录过程中系统校验用户合法性时,要在登陆端导出登录信息的md5值,再与数据库中经过md5加密后的用户名、密码相比对,比对后如果等值,则用户为合法用户。这种校验方式的优势在于,假使黑客进入的用户信息数据库,窃取了md5加密后的用户密码,也不会有太大的危害,因为md5具有不可逆性,黑客仍然得不到实际的密码值。

2.2md5算法在数据完整性方面的应用。在传递密码或其他重要信息时,要避免数据信息被盗取,同时,还要确保信息发送者对自己所发送的文件有可追溯性,信息接收方可以明确信息发送者是谁,还能核对信息是否被篡改过,从而避免信息能准确送达且不被修改。

借助md算法来确保系统中信息安全传递的流程为:信息发送者通过网络把信息块传递给接受者乙,乙把信息块改名为n,信息发送者甲发送信息块时,由系统应用md5加密算法核算出信息块的哈希值md5值m,信息接受者乙在接受文件时,由系统应用md5算法核算出信息块的哈希值md5值n,如果md5值m和n等值,则信息块是完整准确的,原始文件在传递的过程中未受到损坏或增加,同时,信息传递者甲也可以核对传递前后信息块的哈希值,以确认乙

接收的信息块是否是自己发送给乙的,是否被篡改过。

3基于md5加密算法的系统安全登录实例分析

现在以实例来解释对传递过程中的数据进行md5算法加密:usernc=$usernc;

$this->mima=$mima;

$this->xym=$xym;

}

public function chk(){

if(trim($this->xym)!=trim($_session[“autonum”])){ echo”“;

exit;

}

include_once(“common.php”);

$sql=mysql_query(“select usernc from tb_yonghu where usernc=‘“.$this->usernc.”‘ and

pwd=‘“.$this->mima.”‘“,$conn);

$info=mysql_fetch_array($sql);

if($info==false){

echo”“;

exit;

}else{

if($_session[“unc”]!=““){

session_unregister(“unc”);

}

session_register(“unc”);

$_session[“unc”]=$this->usernc;

mysql_query(“update tb_yonghuset

logintimes=logintimes+1,lastlogintime=‘“.date(“y-m-d h:i:s”).”‘“,$conn);

echo ““;

}

}

}

$obj=new dengluyanzheng($_post[“yonghuming”],

md5($_post[“mima”]),$_post[“xym”]);//对传递的信息进行md5算法加密,增强数据安全性。

$obj->chk();

?>

通过在系统登录环节增加md5算法的调用,强化了传递信息的的安全性,有助于避免密码的泄露。

4结束语

在系统登录模块中,对密码进行md5算法加密后存储在数据库中,提高了系统的安全性。用户的验证过程,也可以借助md5进行校验,改算法过程执行效率高,对系统负荷影响小,具有很好的可行性。

相关文档
最新文档