论文部分内容阅读
摘要:该文阐述了采用MD5算法保障用户使用中的密码安全,基于MVC模式、AJAX技术设计实现的会计从业人员网上报名系统,通过AJAX异步传输,可以提供给会计人员和管理人员流畅的操作界面,操作也更加方便,减轻服务器负担。尤其在会计人员在注册个人信息时,可以实现边撰写边保存的异步效果有效减少会计人员注册过程中实际的等待时间。
关键词:MVC模式;MD5算法;
20世纪末,随着现代信息技术的迅猛发展,特别是互联网技术的广泛普及和应用,使得全球电子政务得以蓬勃发展,电子政务在世界各国开始广泛普及,并受到越来越高的重视。从世界范围来看,推进政府部门电子化、自动化办公,全面实现信息共享已是大势所趋。电子政府的建设已经成为国际上不可逆转潮流。世界发达国家也追随之开始加大电子政府的建设性投入,全面实施电子政务,并且取得很好的应用效果。
1 系统概述
会计从业资格报名系统是黑龙江省会计从业资格考试及管理系统的重要组成部分,主要基于MVC模型,采用了Ajax技术及MD5加密算法实现。在注册系统时需要填写用户名、密码、电子邮件、姓名、身份证号、通讯地址、个人电话、工作电话等个人信息。当新用户添加或者注册的时候,按照传统方法,一次性提交服务器,如果存在用户名已经存的情况,就只能重写上面的各项信息,十分不方便,而且影响效率。而使用了Ajax技术,在填写完用户名的时候,就会触发相应的事件,搜索数据库,发现用户名已经存在,用户就可以及时的更改用户名,避免了重复填写信息的过程。
2 系统框架设计
2.1基于 MVC Model 实现系统框架
MVC (model-view-controller) 模型是经典的Web 体系结构, 其中M 即模型、 V 即视图和C 即控制器。一般复杂的Web 应用程序需要处理大量的用户数据, 设计人员希望数据层模型和界面表现层相互分离,保证数据操作能够在不改变用户界面的情况下有效进行。MVC 模型解决了这个问题,这个软件模型采用了“分治”的思想,将表示层、控制层和数据层相互分离,将系统分成3个既相互独立又相互联系的模块,控制层是数据模型与用户视图的联系纽带,它解释用户的操作意图,并把其交给模型去执行,根据请求和执行结果来决定下一步显示的视图。
用户管理系统整体架构设计正是基于MVC Model 进行设计开发的。本系统主要有用户登录、新用户注册、用户管理3大系统模块,3个模块的设计基本上体现了分层理念的MVC模式,这种设计使得功能层次清晰、代码易于管理维护、系统升级也较为方便。用户登录模块的整体架构图。
2.2 用户登录模块
该模块负责用户的登陆,密码验证。在管理员使用系统前,系统必须确认用户身份的合法性,只有通过身份认证的管理员,才能使用系统。
用户信息包括:用户名与密码。
对于用户信息的管理,应该注意到未被加密过的密码在网络上传输时,很容易被窃取。密码存储在数据库中,也应该经过加密以防止泄露。因此WEB应用中的用户口令信息,以及其他重要的信息,也被加密后传输与存储。
用户登录模块负责用户登录到系统所必需的认证过程,包括图形认证码的校验、用户名和密码的检查等功能。用户登录模块的时序图。
2.3新用户注册模块
新用户注册模块负责将新用户注册到系统数据库。新用户需要填写如用户名、 密码、 身份证号、邮箱地址等个人信息以及一些可选的次要信息,注册过程中也需要进行认证码校验。新用户注册模块的流程图。
会计从业资格网上报名系统运行于互联网,为考生提供网上报名,预约现场确认,并可以在确认通过后,实现网上打印准考证。
①报名限制
对此,对身份证号的前六位进比对,如果与报名所在地一致,即可报名,否则,进一步判断医疗保障号,如果医疗保障号所在地与报名所在地一致,也可以报名,否则,不可以报名。
②申请表
为满足大部分报名人员无法实现在线打印报名表,所以,在报名完成后,必须允许会计人员下载报名表后,另行打印。
3 系统实现
会计从业资格网上报名系统为方便广大考生报名管理及及时获取相关信息服务,本系统开发基于B/S架构,采用MVC模型,高效、友好地实现会计从业人员的网上报名。
3.1基于AJAX的网上报名的实现
现场报名,需要报名人员携带预报名表及相关证件,到考区所在地的报名点进行现场报名,可以通过读取二代身份证取照片或直接将照片上传,并提取指纹,在考试前,需验证指纹进入考场。
会计从业资格网上公开业务子系统运行在公网上,面向社会发布有关行业新闻公告、文件通知,会计从业人员信息网上查询,相关业务网上申请,管理机关网上批复等适合在公网发布的内容,系统提供一个窗口,帮助会计人员第一时间了解权威的可信的行业信息,为会计人员与管理人员提供一个交流的平台,提高管理工作透明度,使会计人员加深对管理工作的理解,并通过这个平台得到更好的服务。同时网上办公申请也为管理机关日常办公提供分流渠道,可以有效降低管理人员工作强度,提高工作效率。
本部分使用AJAX技术实现。
1)引入AJAX类库AjaxPro.dll
2)创建Ajax类库
3)编写客户端函数
4)绑定函数至控件
3.2基于 MD5 算法实现的改进口令密码认证机制
用户管理系统在用户登录和新用户注册页面均实现了MD5 算法口令密码认证机制。用户在输入用户名和口令登录时, 系统将口令明文经过 MD5算法进行 Hash散列,得到128位的Hash 值,即在 B/S模式下进行传输的密文。
MD5算法C#应用的关键程序段如下:
string strpwd= this. txtMingWen. Text. Trim().ToString(); //获取明文值的字符串
try
{
//将字符串转换为UTF8编码的byte型数组
byte[] data=Encoding.UTF8.GetBytes(strp-wd);
//实例化MD5CryptoServiceProvider类的对象
MD5CryptoServiceProvider mService = newMD5CryptoServiceProvider();
//通过MD5CryptoServiceProvider类的方法ComputeHash计算哈希值
byte[] result=mService.ComputeHash(data);
string strhash=””;
int count=result.Length;
for (int i=0;i {
//将每个byte型数据转换为十六进制的字符
并组成字符串
strhash+=string.Format(”{0:X}”,result[i]);
}
this.txtMiWen.Text=strhash; //将密文值的结果显示出来
}
catch(Exception ex)
{
this.txtMiWen.Text=ex.Message; //若产生异常显示异常情况
}
在使用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:对原始密码开始截取的位置。
解密过程跟加密过程有些类似,先对输入的明文进行加密,接着从beginnumber处截取前半部分得到A′,后半部分得到B′,然后从数据库中读出密码中的A和B部分,最后如果A=A′并且B=B′,则认为用户输入的密码跟数据库中的密码是匹配的。
3.3向DOC中赋值
为满足大部分报名人员无法实现在线打印报名表,所以,在报名完成后,必须允许会计人员下载报名表后,另行打印。所以在报名过程中,申请者是直接向word中写入数据的,即,使用二进制写入的方法,支持并发处理,事实上,在开发过程中,曾尝试直接调用word中的库文件,但是在这一过程中,客户经常遇到死机现象,为了解决这个问题,我们采用第三方插件写入,第三方插件完全解析了word,彻底解决了调用word死机这一问题。关键代码如下:
//向doc中赋值
//namespace Web2
{
//字段设置,并进行赋值
……
}
public int createdoc(HttpResponse response,ZgExamBm exam)//生成word文档
{
……
string path = HttpContext.Current.Server.MapPath("../doc/黑龙江省会计从业资格考试报名申请表.doc"); //打开摸板
//赋值
//保存
}
报名人员可以将此表下载打印,并携带此表和相关证件到当地会计管理局进行现场确认。
四、结束语
该文介绍了基于MVC模式的会计从业资格网上报名管理系统的设计与实现,有效解决了网报系统中存在的问题,为会计从业资格考试提供了完备的解决方案。
参考文献:
[1] 马少武.我国电子政务发展综述及网络体系建设,信息通信技术.2008.
[2] 邵曙群.基于Internet的在线考试系统的研究与实现,南京:东南大学.2001
[3] 冯淑萍.加强会计信息监管治理会计信息失真,财务与会计.2003
[4] Shawn M.Lauriat.深入Ajax 架构与最佳实践.人民邮电出版社,2009
[5] 张绍兰,邢国波等.对MD5的改进及其安全性分析.计算机应用,2009。
作者简介:程少丽(1976-4),女,黑龙江省哈尔滨人,副教授,硕士研究生,黑龙江省委党校,主要研究方向为电子政务、电子商务。
黑龙江省委党校 文化基础教研部13945688584 图
关键词:MVC模式;MD5算法;
20世纪末,随着现代信息技术的迅猛发展,特别是互联网技术的广泛普及和应用,使得全球电子政务得以蓬勃发展,电子政务在世界各国开始广泛普及,并受到越来越高的重视。从世界范围来看,推进政府部门电子化、自动化办公,全面实现信息共享已是大势所趋。电子政府的建设已经成为国际上不可逆转潮流。世界发达国家也追随之开始加大电子政府的建设性投入,全面实施电子政务,并且取得很好的应用效果。
1 系统概述
会计从业资格报名系统是黑龙江省会计从业资格考试及管理系统的重要组成部分,主要基于MVC模型,采用了Ajax技术及MD5加密算法实现。在注册系统时需要填写用户名、密码、电子邮件、姓名、身份证号、通讯地址、个人电话、工作电话等个人信息。当新用户添加或者注册的时候,按照传统方法,一次性提交服务器,如果存在用户名已经存的情况,就只能重写上面的各项信息,十分不方便,而且影响效率。而使用了Ajax技术,在填写完用户名的时候,就会触发相应的事件,搜索数据库,发现用户名已经存在,用户就可以及时的更改用户名,避免了重复填写信息的过程。
2 系统框架设计
2.1基于 MVC Model 实现系统框架
MVC (model-view-controller) 模型是经典的Web 体系结构, 其中M 即模型、 V 即视图和C 即控制器。一般复杂的Web 应用程序需要处理大量的用户数据, 设计人员希望数据层模型和界面表现层相互分离,保证数据操作能够在不改变用户界面的情况下有效进行。MVC 模型解决了这个问题,这个软件模型采用了“分治”的思想,将表示层、控制层和数据层相互分离,将系统分成3个既相互独立又相互联系的模块,控制层是数据模型与用户视图的联系纽带,它解释用户的操作意图,并把其交给模型去执行,根据请求和执行结果来决定下一步显示的视图。
用户管理系统整体架构设计正是基于MVC Model 进行设计开发的。本系统主要有用户登录、新用户注册、用户管理3大系统模块,3个模块的设计基本上体现了分层理念的MVC模式,这种设计使得功能层次清晰、代码易于管理维护、系统升级也较为方便。用户登录模块的整体架构图。
2.2 用户登录模块
该模块负责用户的登陆,密码验证。在管理员使用系统前,系统必须确认用户身份的合法性,只有通过身份认证的管理员,才能使用系统。
用户信息包括:用户名与密码。
对于用户信息的管理,应该注意到未被加密过的密码在网络上传输时,很容易被窃取。密码存储在数据库中,也应该经过加密以防止泄露。因此WEB应用中的用户口令信息,以及其他重要的信息,也被加密后传输与存储。
用户登录模块负责用户登录到系统所必需的认证过程,包括图形认证码的校验、用户名和密码的检查等功能。用户登录模块的时序图。
2.3新用户注册模块
新用户注册模块负责将新用户注册到系统数据库。新用户需要填写如用户名、 密码、 身份证号、邮箱地址等个人信息以及一些可选的次要信息,注册过程中也需要进行认证码校验。新用户注册模块的流程图。
会计从业资格网上报名系统运行于互联网,为考生提供网上报名,预约现场确认,并可以在确认通过后,实现网上打印准考证。
①报名限制
对此,对身份证号的前六位进比对,如果与报名所在地一致,即可报名,否则,进一步判断医疗保障号,如果医疗保障号所在地与报名所在地一致,也可以报名,否则,不可以报名。
②申请表
为满足大部分报名人员无法实现在线打印报名表,所以,在报名完成后,必须允许会计人员下载报名表后,另行打印。
3 系统实现
会计从业资格网上报名系统为方便广大考生报名管理及及时获取相关信息服务,本系统开发基于B/S架构,采用MVC模型,高效、友好地实现会计从业人员的网上报名。
3.1基于AJAX的网上报名的实现
现场报名,需要报名人员携带预报名表及相关证件,到考区所在地的报名点进行现场报名,可以通过读取二代身份证取照片或直接将照片上传,并提取指纹,在考试前,需验证指纹进入考场。
会计从业资格网上公开业务子系统运行在公网上,面向社会发布有关行业新闻公告、文件通知,会计从业人员信息网上查询,相关业务网上申请,管理机关网上批复等适合在公网发布的内容,系统提供一个窗口,帮助会计人员第一时间了解权威的可信的行业信息,为会计人员与管理人员提供一个交流的平台,提高管理工作透明度,使会计人员加深对管理工作的理解,并通过这个平台得到更好的服务。同时网上办公申请也为管理机关日常办公提供分流渠道,可以有效降低管理人员工作强度,提高工作效率。
本部分使用AJAX技术实现。
1)引入AJAX类库AjaxPro.dll
2)创建Ajax类库
3)编写客户端函数
4)绑定函数至控件
3.2基于 MD5 算法实现的改进口令密码认证机制
用户管理系统在用户登录和新用户注册页面均实现了MD5 算法口令密码认证机制。用户在输入用户名和口令登录时, 系统将口令明文经过 MD5算法进行 Hash散列,得到128位的Hash 值,即在 B/S模式下进行传输的密文。
MD5算法C#应用的关键程序段如下:
string strpwd= this. txtMingWen. Text. Trim().ToString(); //获取明文值的字符串
try
{
//将字符串转换为UTF8编码的byte型数组
byte[] data=Encoding.UTF8.GetBytes(strp-wd);
//实例化MD5CryptoServiceProvider类的对象
MD5CryptoServiceProvider mService = newMD5CryptoServiceProvider();
//通过MD5CryptoServiceProvider类的方法ComputeHash计算哈希值
byte[] result=mService.ComputeHash(data);
string strhash=””;
int count=result.Length;
for (int i=0;i
//将每个byte型数据转换为十六进制的字符
并组成字符串
strhash+=string.Format(”{0:X}”,result[i]);
}
this.txtMiWen.Text=strhash; //将密文值的结果显示出来
}
catch(Exception ex)
{
this.txtMiWen.Text=ex.Message; //若产生异常显示异常情况
}
在使用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:对原始密码开始截取的位置。
解密过程跟加密过程有些类似,先对输入的明文进行加密,接着从beginnumber处截取前半部分得到A′,后半部分得到B′,然后从数据库中读出密码中的A和B部分,最后如果A=A′并且B=B′,则认为用户输入的密码跟数据库中的密码是匹配的。
3.3向DOC中赋值
为满足大部分报名人员无法实现在线打印报名表,所以,在报名完成后,必须允许会计人员下载报名表后,另行打印。所以在报名过程中,申请者是直接向word中写入数据的,即,使用二进制写入的方法,支持并发处理,事实上,在开发过程中,曾尝试直接调用word中的库文件,但是在这一过程中,客户经常遇到死机现象,为了解决这个问题,我们采用第三方插件写入,第三方插件完全解析了word,彻底解决了调用word死机这一问题。关键代码如下:
//向doc中赋值
//namespace Web2
{
//字段设置,并进行赋值
……
}
public int createdoc(HttpResponse response,ZgExamBm exam)//生成word文档
{
……
string path = HttpContext.Current.Server.MapPath("../doc/黑龙江省会计从业资格考试报名申请表.doc"); //打开摸板
//赋值
//保存
}
报名人员可以将此表下载打印,并携带此表和相关证件到当地会计管理局进行现场确认。
四、结束语
该文介绍了基于MVC模式的会计从业资格网上报名管理系统的设计与实现,有效解决了网报系统中存在的问题,为会计从业资格考试提供了完备的解决方案。
参考文献:
[1] 马少武.我国电子政务发展综述及网络体系建设,信息通信技术.2008.
[2] 邵曙群.基于Internet的在线考试系统的研究与实现,南京:东南大学.2001
[3] 冯淑萍.加强会计信息监管治理会计信息失真,财务与会计.2003
[4] Shawn M.Lauriat.深入Ajax 架构与最佳实践.人民邮电出版社,2009
[5] 张绍兰,邢国波等.对MD5的改进及其安全性分析.计算机应用,2009。
作者简介:程少丽(1976-4),女,黑龙江省哈尔滨人,副教授,硕士研究生,黑龙江省委党校,主要研究方向为电子政务、电子商务。
黑龙江省委党校 文化基础教研部13945688584 图