浅谈使用md5算法加密数据(完整版)

浅谈使用md5算法加密数据(完整版)

ID:14284807

大小:87.50 KB

页数:7页

时间:2018-07-27

浅谈使用md5算法加密数据(完整版)_第1页
浅谈使用md5算法加密数据(完整版)_第2页
浅谈使用md5算法加密数据(完整版)_第3页
浅谈使用md5算法加密数据(完整版)_第4页
浅谈使用md5算法加密数据(完整版)_第5页
资源描述:

《浅谈使用md5算法加密数据(完整版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、浅谈使用MD5算法加密用户密码一、引言最近看了媒体的一篇关于“网络上公开叫卖个人隐私信息”报导,不法分子通过非法手段获得的个人隐私信息,其详细、准确程度简直令人瞠口结舌。在互联网飞速发展的现在,我们不难想到,网络肯定是传播这些个人隐私信息的重要途径之一。现在网络上一般的网站,只要稍微完善一点的,都需要用户进行注册,提供诸如用户名、用户密码、电子邮件、甚至是电话号码、详细住址等个人隐私信息,然后才可以享受网站提供的一些特殊的信息或者服务。比如电子商务网站,用户需要购买商品,就一定需要提供详细而准确的信息,而这些信息,往往都是用户的隐私信息,比如电子

2、邮件、电话号码、详细住址等。所以,用户注册的信息对于用户和网站来说都是很重要的资源,不能随意公开,当然也不能存在安全上的隐患。用户注册时,如果将用户资料直接保存在数据库中,而不施加任何的保密措施,对于一些文件型数据库(如Access),如果有人得到这个数据库文件,那这些资料将全部泄露。再有,如果遇到一个不负责任的网管,则不需要任何技术手段,他就可以查看到用户的任何资料。所以,为了增加安全性,我们有必要对数据库中的隐私数据进行加密,这样,即使有人得到了整个数据库,如果没有解密算法,也一样不能查看到用户的隐私信息。但是,在考虑数据库是否安全之前,有必

3、要对这些数据是否真的那么重要进行考虑,如果数据并不重要,则没有保密的必要,否则将会浪费系统资源、加重程序负担。反之,如果数据具有一定的隐私性,则必须进行加密。因此,在考虑加密以前,应该对数据是否需要加密做出选择,以免浪费系统资源或者留下安全隐患。二、MD5算法简介MD5算法,即“Message-DigestAlgorithm5(信息-摘要算法)”,它是由MD2、MD3、MD4发展而来的一种单向函数算法,也就是哈希(HASH)算法,是由国际著名的公钥加密算法标准RSA的第一设计者R.Rivest于上个世纪90年代初开发出来的。加密算法一般有两种,即

4、单向加密算法和双向加密算法。双向加密是加密算法中最常用的,它将可以直接理解的明文数据加密为不可直接理解的密文数据,在需要的时候,又可以使用一定的算法将这些加密以后的密文数据解密为原来的明文数据。双向加密适合于隐秘通讯,比如,比如在网络上注册用户或者购买商品时,提交的真实姓名、身份证号码、银行账号、信用卡密码等信息,应当通过双向加密算法加密以后,再在网络上传输,这样,可以有效的防止黑客的“偷听”,保证数据的安全,同时,网站接收到我们的数据以后,可以通过解密算法来获得准确的信息。双向加密既可以加密,又可以解密。而单向加密则刚好相反,它只能对明文数据进

5、行加密,而不能对加密了的密文数据再解密成原来的明文数据。可能读者会认为,不能解密的加密算法有什么作用呢?在实际应用中,对软件系统数据库中的系统用户信息(如用户密码)加密,就是一个典型的例子。当用户注册一个新的账号时,其用户密码信息不是直接保存到数据库,而是经过单向加密后再保存,这样,即使这些账号信息被泄露,别人也不能得到相应的用户密码,当然也就达不到盗窃账号的目的。MD5算法就是单向加密的加密算法。它有两个很重要的特性,第一是任意两段明文数据,加密以后的密文数据一定是不相同的;第二是任意一段明文数据,经过加密以后,其密文数据永远是相同的。三、在C

6、#中使用MD5算法加密用户密码为了更好的说明MD5算法的实际应用,下面用一个实例来进行介绍。该实例使用MD5算法加密软件系统的系统用户密码。该实例用到的软件有:nMicrosoftSQLServer2000nMicrosoftVisualStudio2005本实例使用C#语言开发,并采用Windows应用程序的形式给出。具体的实现方法和步骤如下:(1)使用MicrosoftSQLServer2000创建一个名为“DBMD5”数据库,并在“DBMD5”数据库中创建一个名为“tbl_User”的数据表,数据表的结构如下表所示(非本文重点,不作具体介绍

7、)。列名说明数据类型约束userId用户名varchar,长度为32主键userPsw用户密码varchar,长度为32非空(2)使用MicrosoftVisualStudio2005创建一个名为“UseMd5”的VisualC#Windows应用程序,并将默认的窗体界面设计成如下图所示。(3)窗体和窗体中的各对象属性设置如下表所示。控件类型控件名称属性设置结果FormForm1NameFrmLoginText登录StartPositionCenterScreenMaximizeBoxFalseLabelLabel1Text用户名Label2Te

8、xt用户密码TextBoxTextBox1NametxtIdTextBox2NametxtPswPasswordChar*ButtonB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。