2 引言
随着网络的发展,互联网技术的应用日益增强,随之而来的是一系列与网络安全相关的问题:如对主机的攻击,网络上传输的信息被截取、篡改、重发等,由此,它对网络应用的进一步推广构成了巨大威胁,于是数据加密便成了软件项目开发的重要之处。
数据加密技术不仅具有保证信息机密性的信息加密功能,而且具有数字签名、秘密分存、系统安全等性能。因而可以保障信息的机密性、完整性和准确性,防止信息被窃取、篡改、伪造和假冒。因此本系统运用了MD5数据加密技术。
同时,在竞争日趋激烈的今天,只有实行对数据加密的加强管理,建设性提高信息安全在网络中的地位,以至在竞争中求生存,以期更好地发展下去。
2 / 37
信息安全技术课程设计
3 摘要
近年来,随着电脑的普与,互联网技术的发展与互联息市场的不断完善,网络已经成为人们学习生活不可或缺的一部分,在人们获取知识、了解社会方面更是扮演着重要角色,社会的各行各业都离不开互联网。
本设计尝试用ASP.NET架构一个基于MD5的用户登录系统,本文从理论和实践两个角度出发,论文首先较为详尽地介绍了系统设计的有关概念与技术,特别深入介绍了在系统开发过程中用到的开发平台、开发语言以与MD5数据加密的介绍,接着对基于MD5的用户登录系统的可行性与需求进行了分析,最后对系统的主要页面、数据库、应用程序的设计与实现作了较为详细的讲解。
本系统是在Microsoft SQL Server 2005和Microsoft Visual Studio 2008开发平台实现的,其主要功能有:管理员具有登录、查询、修改删除信息功能普通用户具有注册、登录、查询、修改信息功能等。论文在撰写过程中,力求将理论与实践应用相结合,对各种理论进行阐述的同时配合系统从实际应用和操作技巧上加以说明,希望能够更充分地体现到这些知识与技术在本系统中的应用与实现。 关键词:信息加密;c#语言 ; MD5加密;登录系统。
3 / 37
信息安全技术课程设计
目录
1 试 题 .......................................................................... 错误!未定义书签。 2 引 言.......................................................................................................... 2 3 摘要 ............................................................................................................ 3 4 系统分析 ................................................................................................... 5
4.1 可行性分析 ..................................................................................... 5 4.2 需求分析 ......................................................................................... 5 5 系统设计 ................................................................................................... 6
5.1 概要 ................................................................................................. 6 5.2 开发技术简介 ................................................................................. 6 5.3 系统功能模块划分 ........................................................................ 6 5.4系统数据库设计 .............................................................................. 7 6 详细功能设计 ........................................................................................... 9 7 操作说明 ................................................................................................. 17 结束语 .......................................................................................................... 18 参考文献 ...................................................................................................... 19 附 录 .......................................................................................................... 20
4 / 37
信息安全技术课程设计
4 系统分析
4.1 可行性分析
系统可行性分析的任务是在初步调查的基础上确定项目开发是否必要和可行。可行性研究是针对系统进行全面、概要的分析,主要包括三方面:技术可行性、经济可行性和社会可行性。可行性研究报告是系统研制人员在可行性研究工作阶段的成果。一经讨论、审定通过后,根据确定的系统方案对系统开发者下达系统设计任务书,对新系统开发工作的可行性做出结论或提出建议。
1. 技术可行性
该系统是根据科学的管理方法与编程技术而开发设计的,能符合各种技术要求,拥有较高的存储能力、较高的处理速度、较为安全的信息保护。
该系统需要设计人员具有数据库和前台制作操作的能力,鉴于曾学习过Microsoft SQL Server 2005和Microsoft Visual Studio 2008 的操作,即使遇到了简单的技术问题,也能很快地通过查询课本或询问老师等方式解决。
若要运行这两个软件,进行系统设计的计算机操作系统需为Windows 2000以上版本,开发语言为ASP.NET(C#),所以,该系统在技术方面具有可行性。
5 / 37
信息安全技术课程设计
2. 经济可行性
从经济上来说,由于选择的开发工具和服务器几乎全部为免费的开源软件,且不需要购置大型设备,因而经济上可行。
3. 社会可行性
经过分析,本系统对区别于普通的用户系统,利用加密技术,对用户的密码进行了保护,增加了系统的安全性。因此,在社会层面是可行的。 4.2 需求分析
目前,大型关系数据库管理系统都具备一整套完善的安全管理手段,包括识别角色权限、访问控制、安全审计等功能。其中的角色权限管理已经相当完善,基本能够满足权限分配的需要;访问控制已经精确到字段级,达到关系型数据库管理的最小粒度。 尽管数据库管理系统本身的安全措施已经相当完备,但是仍然无法完全解决数据安全的需求。
若要满足业务数据的安全需要,必须对数据库保护的最有效的方法就是对敏感数据进行加密处理,这样,即使能够通过非法途径得到数据库的数据,也是得不到其明文形式的。实现数据库加密并结合密钥管理以后,数据库里的数据由用户自己的密钥来进行访问,不同的用户只能访问自己权限以内的数据,这样大大地提高了数据的安全性。由此可见,数据库加密的需求是需要的。
6 / 37
信息安全技术课程设计
5 系统设计
5.1 概要
5.1.1功能设计思想
1.首先创建一个登入页面,在系统页面上可以登入和注册。
2.a.普通用户登入:可以查看用户名单,用户登录后可以修改个人信息与密码; b.管理者登入:不仅可以查看用户名单还可以选择对用户进行删除和修改。 3.如果选择注册,这要填入相应的信息点击确定就可以注册成功,返回进入登入页面。
5.1.2 安全性设计
系统设计时在用户注册和修改密码时进行了加密,加密时直接引用MD5加密算法即可,方便有效,保护了用户的密码安全。 5.2 开发技术简介
7 / 37
信息安全技术课程设计
本系统使用Microsoft Visual Studio 2008作为开发平台,C#作为开发语言,采用Microsoft SQL Server2005作为前台数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大、效率高,C#是一门简单现代面向对象和类型安全的编程语言,为程序员提供了十分灵活的操作。
Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一发工具,引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio 2008可以高效开发Windows应用程序。同时Visual Studio 2008支持项目模板、调试器和部署程序。
MD5算法的全称是Message-Digest algorithm 5,是一种用于产生数字签名的单项散列算法。它的作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式,即将一个任意长度的“字节串”通过一个不可逆的字符串变换算法变换成一个128bit的串。
DLL文件又称\"应用程序拓展\",是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。 5.3 系统功能模块划分
管理员功能模块
管理员具有登录、查询、修改删除信息功能 普通用户功能模块
普通用户具有注册、登录、查询、修改信息功能 系统模块图(如图1-1) 用户登录系统 8 / 37
信息安全技术课程设计
登录 注册 修改密码和信息 查看其它用户信息 登录 查看用户信息 修改用户信息 删除用户 普通用户 管理员 图1-1
5.4 系统数据库设计
数据库表结构 如表1-1
表1-1
9 / 37
信息安全技术课程设计
表1-2
6 详细功能设计
详细功能与运行测试
管理员功能:
1.管理员登录:输入管理员姓名与密码,选择管理员,点击登录 如图2-1
10 / 37
信息安全技术课程设计
图2-1
2.管理员登录后进去用户信息界面 如图2-2
图2-2
3.管理员修改用户信息 如图2-3
11 / 37
信息安全技术课程设计
图2-3
4. 管理员修改用户信息成功 如图2-4
图2-4
普通用户功能
5.输入姓名与密码,选择普通用户,点击登录 如图2-5
12 / 37
信息安全技术课程设计
图2-5
6.普通用户查询和编辑界面 如图2-6
图2-6
7.普通用户个人信息 如图2-7
13 / 37
信息安全技术课程设计
图2-7
8.普通用户点击编辑,修改个人信息 如图2-8
图2-8
9.普通用户修改个人信息成功 如图2-9
14 / 37
信息安全技术课程设计
图2-9
10.普通用户修改密码 如图2-10
图2-10
11.普通用户修改密码成功 如图2-11
15 / 37
信息安全技术课程设计
图2-11
12.普通用户修改密码失败 如图2-12
图2-12
13.普通用户输入姓名,密码,确认密码,注册 如图2-13
16 / 37
信息安全技术课程设计
图2-13
14.注册成功 如图2-14
图2-14
15.注册成功后登录 如图2-15
17 / 37
信息安全技术课程设计
图2-15
16.注册前后数据库中数据 如图2-16
图2-16
17. 注册成功后数据库中数据 如图2-17
图2-17
18 / 37
信息安全技术课程设计
7 操作说明
运行环境:Microsoft SQL Server 2005和Microsoft Visual Studio 2008
操作:1.普通用户登录:可以查看用户名单,用户登录后可以修改个人信息与密码;
如果选择注册,这要填入相应的信息点击确定就可以注册成功,返回进入登
入页面。
2.管理员登录:不仅可以查看用户名单还可以选择对用户信息进行删除和修改操作。
19 / 37
信息安全技术课程设计
结束语
作为一名大三的学生,这是第一次完成系统后写一篇比较正规的小论文,所以还是有很多不足的地方。经过这段时间的课程设计,从开始的选题,到收集资料,做知识储备,到现在的最终设计阶段,我在这之中学到了很多很多。
这次我做的小系统是基于MD5的用户登录系统,经过努力,基于MD5的用户登录系统的设计已初步完成,包括了用户注册、登录、查询、修改个人信息以与管理员登录、修改、查询信息等功能。
系统关于数据加密这部分,我将MD5加密算法打包成了DLL文件,方便在各个功能模块直接引用,总体上,已经基本完成了最初制定的计划功能。但在实际运用时还有一些不足,功能略微简单,也没有很完善,接下来还是会继续改进。
20 / 37
信息安全技术课程设计
在系统完成之际,我感触颇深,也深感自己知识的不足,系统在调试过程中经过了无数次的修改,才最终定型的。在设计过程中遇到了不少的麻烦,也烦恼过,也想放弃,但最终还是走下来了。感到最大的收获就是平时的努力,终于有了回报。内心当中有一种充实感。虽然其中有一些技术功能现在还没有得到解决,但是我在探索的途中学到了很多知识,遇到困难,我们要做的不是去怕它,而是想办法去找寻解决困难的方法,相信自己在未来的学习、工作、生活中会更加的努力。
参考文献
[1]冯登国,信息安全技术概率(第2版).电子工业出版社. [2]郝刚, ASP.NET 2.0开发指南[M].北京:人民邮电出版社.
[3]王珊,萨师煊.数据库系统概论第四版[M].北京:高等教育出版社. [4]蒋培,王笑梅. ASP.NET Web程序设计[M].北京:清华大学出版社. [5]李克洪,实用密码学与计算机数据安全,东北大学出版社. [6]陈波,信息安全案例教程:技术与应用,机械工业出版社.
21 / 37
信息安全技术课程设计
[7]张海藩.软件工程[M].北京:人民邮电出版.
[8]魏红芹,计算机信息安全管理实验教程,清华大学出版社
[9]曹祖圣,吴明哲.Visual C#.NET 程序设计经典[M].北京:科学出版社. [10] 彭文波.MD5算法原理与应用[EB/OL].中国知网.
附录
程序开发源代码 dl.aspx
public partial class dl : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
22 / 37
信息安全技术课程设计
}
protected void Button1_Click(object sender, EventArgs e) {
string connection = \"Data Source=.;Initial Catalog=A;Integrated Security=True\";
using (SqlConnection conn = new SqlConnection(connection)) {
if (this.Identity.SelectedValue == \"管理员\") {
conn.Open();
SqlCommand cmd = new SqlCommand(); cmd.Connection = conn;
cmd.CommandText = \"select count(*) from news2 where UserName='\" + TextBox1.Text + \"' and [password]='\" + TextBox2.Text + \"' and level='0'\";
int i = Convert.ToInt32(cmd.ExecuteScalar()); conn.Close(); if (i > 0) {
Response.Write(\"\");
23 / 37
信息安全技术课程设计
Session[\"UserName\"] = TextBox1.Text; } else {
Response.Write(\"\"); } } else {
//string password =
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfig(), \"MD5\");
//调用接口的方式来实现
string orgin = TextBox2.Text.Trim(); string password = Mdfive.Encrypt(orgin); conn.Open();
SqlCommand cmd = new SqlCommand(); cmd.Connection = conn;
cmd.CommandText = \"select count(*) from news2 where UserName='\" + TextBox1.Text + \"' and [password]='\" + password + \"' and
24 / 37
信息安全技术课程设计
level='1'\";
int i = Convert.ToInt32(cmd.ExecuteScalar()); conn.Close(); if (i > 0) {
Response.Write(\"\");
Session[\"UserName\"] = TextBox1.Text; } else {
Response.Write(\"\"); } } } }
protected void Button2_Click(object sender, EventArgs e) {
Response.Redirect(\"reg.aspx\"); }
25 / 37
}
reg.aspx
信息安全技术课程设计
public partial class reg : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) { }
protected void Button2_Click(object sender, EventArgs e) {
Response.Redirect(\"dl.aspx\"); }
protected void Button1_Click(object sender, EventArgs e) {
string connection = \"Data Source=.;Initial Catalog=A;Integrated Security=True\";
//string connection = \"\";
using (SqlConnection conn = new SqlConnection(connection)) {
conn.Open();
SqlCommand cmd = new SqlCommand(); cmd.Connection = conn;
26 / 37
信息安全技术课程设计
//根据用户名查询
cmd.CommandText = \"select count(*) from news2 where UserName='\" + TextBox1.Text.Trim() + \"'\"; //
int count = Convert.ToInt32(cmd.ExecuteScalar()); if (count == 0) {
cmd = new SqlCommand(); cmd.Connection = conn;
cmd.Parameters.Add(\"@UserName\SqlDbType.VarChar, 10);
cmd.Parameters[\"@UserName\"].Value = TextBox1.Text; cmd.Parameters.Add(\"@password\SqlDbType.VarChar, 10).Value = TextBox2.Text;
cmd.Parameters.Add(\"@level\SqlDbType.SmallInt).Value = 1;
//string password =
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfig(),\"MD5\");
string orgin = TextBox2.Text.Trim(); string password = Mdfive.Encrypt(orgin);
27 / 37
信息安全技术课程设计
cmd.CommandText = \"insert into news2
(UserName,password,level) values('\" + TextBox1.Text + \"', '\" + password + \"','1');\";
count = (int)cmd.ExecuteNonQuery(); if (count == 0) {
Response.Redirect(\"\"); } else {
Response.Write(\"\");
} } else {
Response.Write(\"\"); }
conn.Close();
28 / 37
信息安全技术课程设计
} } }
welcome.aspx
public partial class welcome : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
if (Session[\"UserName\"] == null) { Response.Redirect(\"dl.aspx\"); } else {
Label1.Text = Session[\"UserName\"].ToString(); } }
protected void Button1_Click(object sender, EventArgs e) {
Response.Redirect(\"yhedit.aspx\"); }
protected void Button2_Click(object sender, EventArgs e) {
29 / 37
信息安全技术课程设计
Response.Redirect(\"dl.aspx\"); }
protected void Button4_Click(object sender, EventArgs e) {
Response.Redirect(\"pdedit.aspx\"); } }
yhedit.aspx
public partial class yhedit : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
if (Session[\"UserName\"] == null) { Response.Redirect(\"dl.aspx\"); } else {
Label1.Text = Session[\"UserName\"].ToString(); Session[\"UserName\"] = Label1.Text; } }
protected void Button1_Click(object sender, EventArgs e)
30 / 37
信息安全技术课程设计
{
Response.Redirect(\"dl.aspx\"); }
protected void Button2_Click(object sender, EventArgs e) {
Response.Redirect(\"welcome.aspx\"); } }
glyedit.aspx
public partial class edit : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
if (Session[\"UserName\"] == null) {
Response.Redirect(\"dl.aspx\"); } }
protected void Button1_Click(object sender, EventArgs e) {
Response.Redirect(\"dl.aspx\");
31 / 37
信息安全技术课程设计
} }
pdedit.aspx
public partial class pdedit : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
if (Session[\"UserName\"] == null) {
Response.Redirect(\"dl.aspx\"); } else {
string Result = \"\";
string UserName = ((string)(Session[\"UserName\"]));
Result = (\"请 \" + Request.QueryString[\"Name\"] + \" 用户修改密码
\");
Result = (\"请 \" + UserName + \" 用户修改密码
\"); Label1.Text = Result; } }
32 / 37
信息安全技术课程设计
protected void Button2_Click(object sender, EventArgs e) {
Response.Redirect(\"welcome.aspx\"); }
protected void Button1_Click(object sender, EventArgs e) {
string selpassword = \"\";
string connection = \"Data Source=.;Initial Catalog=A;Integrated Security=True\";
using (SqlConnection conn = new SqlConnection(connection)) {
//string jpassword =
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfig(), \"MD5\");
//string password =
System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfig(), \"MD5\");
string jor = TextBox1.Text.Trim();
string jpassword = Mdfive.Encrypt(jor);
string por = TextBox2.Text.Trim(); string password = Mdfive.Encrypt(por);
33 / 37
信息安全技术课程设计
conn.Open();
SqlCommand cmd = new SqlCommand(); cmd.Connection = conn;
cmd.CommandText = \"select * from news2 where UserName='\" + Session[\"UserName\"] + \"' and level='1'\";
SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) {
selpassword = dr.GetString(dr.GetOrdinal(\"password\")); }
dr.Close(); conn.Close();
if (selpassword != jpassword) {
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), \"\旧密码不对')\"); } else {
conn.Open();
34 / 37
信息安全技术课程设计
cmd = new SqlCommand(); cmd.Connection = conn;
cmd.CommandText = \"update news2 set password='\" + password + \"' where UserName='\" + Session[\"UserName\"] + \"' and level='1'\";
int count = cmd.ExecuteNonQuery(); if (count > 0) {
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), \"\密码修改成功')\"); }
dr.Close(); conn.Close(); } } } }
Mdfive.cs using System;
using System.Collections.Generic;
35 / 37
信息安全技术课程设计
using System.Linq; using System.Web;
using System.Security.Cryptography; using System.Text; ///
public static class Mdfive {
Public static string Encrypt(string strPwd) {
MD5 md5 = new MD5CryptoServiceProvider();
byte[] data = System.Text.Encoding.Default.GetBytes(strPwd);//将字符编码为一个字节序列
byte[] md5data = md5.ComputeHash(data);//计算data字节数组的哈希值
md5.Clear(); string str = \"\";
for (int i = 0; i < md5data.Length - 1; i++) {
str += md5data[i].ToString(\"x\").PadLeft(2, '0');
36 / 37
信息安全技术课程设计
}
return str; } }
37 / 37
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo8.com 版权所有 湘ICP备2023022238号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务