毕业论文之ASP技术构建XD网络办公系统.docx

上传人:小飞机 文档编号:1954108 上传时间:2022-12-28 格式:DOCX 页数:42 大小:699.15KB
返回 下载 相关 举报
毕业论文之ASP技术构建XD网络办公系统.docx_第1页
第1页 / 共42页
毕业论文之ASP技术构建XD网络办公系统.docx_第2页
第2页 / 共42页
毕业论文之ASP技术构建XD网络办公系统.docx_第3页
第3页 / 共42页
毕业论文之ASP技术构建XD网络办公系统.docx_第4页
第4页 / 共42页
毕业论文之ASP技术构建XD网络办公系统.docx_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《毕业论文之ASP技术构建XD网络办公系统.docx》由会员分享,可在线阅读,更多相关《毕业论文之ASP技术构建XD网络办公系统.docx(42页珍藏版)》请在三一办公上搜索。

1、ASP技术构建XD网络办公系统摘要 网络办公系统是为适应现代无纸化及网络化办公的趋势,更好地服务于现代办公操作,基于Internet Web开发的一套广泛应用于各行业企事业单位的办公自动化系统。办公自动化(简称为OA-Office Automation)。本文论述了一个基于公司企业实现无纸化办公的采用B/S模式下的充分利用数据库服务的整体软件平台的设计与实现。分析了该系统所适应的计算机软硬件的配置环境与选取的利弊。讨论了系统的结构框架和设计原理。说明了系统数据库设计的思路与实现方法。系统构建的重点主要在于系统使用权限的设计、公司营运流程的细分和模式化、系统数据库的合理设计与实现。本文中就如何在

2、软件中实现以上几点作了详细分析与讲解,并给出了使用Sql Server数据库建立本系统数据库的实例。关键字 B/S网络办公系统 ASP SQL技术Abstract The network office system is for adapting to the modern with no paper at all and networked trend that handle official business, serve and handle official business modernly and operate better, a set of office automated

3、systems applied to the every profession and trade enterprises and institutions extensively developed on the basis of Internet Web. Handle official business and turn (abbreviation into OA automatically -Office Automation).This thesis is focused on the design and implementation of handle official busi

4、ness without paper, in the mode of company management with fully Data Service utilization. By the analysis of system framework and deployment, we explore the specific structure of original Data extraction model, build up a simplized model with Data extraction, Data collection & interpretation and re

5、port template filling as its three phases. The system structure mainly emphasizes on the process capability of large quantity of database, system efficiency and global parameter configuration, so as to lessen program redevelopment. In order to realize the above effects, such techniques are widely us

6、ed in the system, as memory calculation, fast lookup algorithm, formula analysis algorithm, predication analysis, working procedure control, report template filling, among which several key technical calculation are provided.Key words B/S network office system ASP SQL technology目 录 1.概 述1.1计算机应用概述随着

7、计算机技术的不断发展与提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。今天,计算机的价格已经十分的低廉,性能却有了长足的进步,在发达地区计算机的普及率也可以说已经达到了无所不在的地步,与计算机相关的配套设施,外部设备和网络设置也有了很大的进步,与人们的日常生活有着息息相关的联系,使人们的生活,工作,娱乐等社会活动有了更大的便利和效率。计算机作为我们人类得力的助手,之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动,减少人工的危险性和失误率;其次,计算机可以节省许多资源,降低人工生产劳动的成本;第三,计算

8、机可以大大的提高人们的生产效率;第四,计算机可以使某些敏感和重要的信息更加安全,等等;总之,计算机技术的合理应用是现今社会一个十分重要的课题,许多人投入到计算机科学的研究中,为计算机科学的进步做出了伟大的贡献。可以说计算机技术的发展代表着人类社会的发展,计算机技术的应用已经深入到人类社会的活动当中。在现今人类社会的各种活动中,以经济活动中的公司经营管理为例,合理的使用计算机技术进行经营管理代替传统的人工的管理模式可以有效的提高公司的工作效率,使公司在日趋激烈的商业竞争中占据有利形式,取得先人一步的商机。1.2系统应用开发的背景及要求现今的商业社会中,许多非计算机专业的公司企业对于计算机的应用操

9、作还相对停留在一个比较肤浅的应用层面上,并没有充分发挥计算机系统的高性能的智能的优势,计算机只是用来进行一些比较简单的文档处理,网业浏览和信息保存,这些相对于计算机系统强大的功能来说是一种十分严重的资源浪费。计算机系统完全可以充分的融入公司日常的管理经营工作中去,使工作人员通过一定的软件操作界面,进行几个简单的按钮操作和文字输入,就可以完成平时的工作,而且通过计算机网络的辅助,可以随时记录当时的工作情况和重要信息的保存,从而使公司的经营管理工作完全摆脱纸笔记录和人员繁复操作的情况,大大降低了繁复工作所带来的高失误率,提高了工作效率,并且有助于提高工作的保密性和各种信息保存的安全性,工作人员避免

10、了因为某些工作而不得不停下手边的工作去和别的人员频繁见面的情况,只需通过计算机系统进行一定范围内的相互通信,使用几个简单的操作就可以省却许多不必要的麻烦。因此可见,开发一套适用于公司日常经营管理活动的无纸化办公系统对于一个公司企业来说是十分具有现实意义的。但是在现实环境中,每一个公司的实际情况都有所不同,所从事的行业也各不相同,进而所采取的经营管理模式和工作步骤也有很大的不同,因此每一个公司都需要有一套适应各自实际情况的管理系统,这对与系统的开发是一个很大的难题,不过我以为,既然我们已经有了设计这种系统的思路就应该坚持不懈的走下去,通过我们的努力一定可以实现我们的想法。虽然开发一套适用与目前所

11、有公司企业的管理系统还是不太可能的事情,但是在同一领域内,各个企业还是具有其相同性的,开发一套适用于一定行业领域内的管理系统还是有其可行性的,本系统就是基于这样的条件而开发的,希望可以通过本系统的开发为今后在各个行业领域内的管理软件的开发提供一个思路与参考。本系统开发的对象是最近社会上比较热门的办理出境留学的中介公司,具体以上海的上教国际公司为开发对象,该公司在此行业领域内具有一定的典型性,操作服务流程比较规范,客户关系网也比较完整。该公司以前的经营管理状态是比较传统的纸笔记录,人员面对面的频繁交流,大会三六九,小会天天有,客户联系通过纸笔记录,有时客户不能直接见面就要通过邮寄的方式将资料寄到

12、公司保存,周期长,容易出错,而且成本高,公司经理的管理工作也变的十分烦琐,又要应付客户,又要频繁的和公司内部员工面对面的交流,有时需要外出办事却又不能离开公司,工作效率十分低下。因此开发一套管理软件就变的十分的迫切。根据该公司的情况,提出了如下的设计要求:l 公司总经理,部门负责人和普通员工的权限分开,依次降低权限。l 将公司的管理流程和部门负责人、普通员工的工作流程整合进软件,并且记录工作情况,保存工作信息。l 客户的个人资料与公司员工的人事资料分开保存,可随时调用与查询。l 数据的安全性与备份。l 节约成本。在以下的篇幅里将详细论述本网络办公系统的设计和实现。1.3系统的环境配置选择开发系

13、统所可以使用的方法和工具有很多种,形式也各不相同,在此我将采用公司内部网站的形式,结合公司原有的内部局域网,形成服务器安装,所有客户机可同时浏览。避免重复安装的情况,达到节约成本的目的。同时,由于只需要在服务器上安装就可执行,也大大减化了程序使用的复杂性,到时,使用者只要以浏览网页的形式,输入ip地址,按照各自的权限登录系统即可。同时,存放数据的数据库也安装在服务器上,由于服务器的安全性能比一般的计算机要好,而且维护一台计算机也比同时维护多台计算机要容易一些,更可以发挥充分的发挥出计算机高效性。系统开发的工具是采用Sql SERVER数据库+ASP后台语言+IIS5.0运行环境的经典的基于We

14、b的B/S系统的开发工具。众所周知,IIS5.0是Windows上有名的Web Server。在以后的篇幅里将会对以上技术做简要的论述。1.3.1 B/S结构B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript)和ActiveX技术,用通用浏览器就实现了原来

15、需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。前者的特点是安全、快捷、准确。后者则具有节省投资、跨地域广的优点。须视企业规模和地理分布确定。企业内部通过防火墙接入Internet,再整个网络采用TCP/IP协议。网络结构如图1-1。图1-1C/S 与 B/S 区别:Client/Se

16、rver是建立在局域网的基础上的.Browser/Server是建立在广域网的基础上的.硬件环境不同:C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行对安全要求不同C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群.

17、对程序架构不同C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟.软件重用不同C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再

18、利用,而不是做在墙上的石头桌子系统维护不同系统维护是软件生存周期中,开销大。C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.处理问题不同C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.用户接口不同C/S 多是建立的Window平台上,表现方法有限,对程序员普

19、遍要求较高B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.信息流不同C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更象交易中1.4 系统环境和架构1、系统的需求1) 运行环境:MS WINDOWS NT PACK 4 OR LATER /WIN2000 WITH IIS 4.0 OR LATER2)数据库:SQL SERVER 20003)其他:服务器安装 微软IE浏览器5.0+ 浏览器必须保证支持COOKIE及JAVASCRIPT 2、系统硬件拓扑结构图,如

20、图1-2图1-22.XD网络办公系统所采用的技术2.1什么是ASPASP是Active Server Pages的简称,即我们所说的动态网页,是微软公司推出的一种用以取代CGI(Common Gateway Interface)通用网关接口的技术,也是一种在微软公司的WEB服务器IIS(Internet Infomation Server)上开发交互网页的新技术。我们可以通过ASP结合HTML语言、ASP指令和ActiveX元件以及数据库等方面知识,使用自己的 Web 服务器创建并运行动态的交互式 Web 站点。目前,ASP(Active Server Pages)技术已经风靡全球,在Inte

21、rnet上几乎处处可以看到的身影。应用ASP技术,无须复杂的编程,就可以开发出专业的动态web站点。ASP的出现,给以静态内容为主的web带来了全新的动态效果。使你的站点具有更加灵活和方便的交互性,在Internet中实现信息的传递和检索越来越容易。随着Windows NT在WWW上的使用日益增多,ASP已经成为了开发动态网站、构筑Internet和Intranet应用的最佳选择。2.1.1 ASP的特征从软件的技术层面看,ASP有如下的特点:1. 无须编译。ASP脚本集成于HTML当中,容易生成,无须编译或链接即可直接解释执行。2. 使用常规文本编辑器(如Windows下的记事本),即可进行

22、*.asp页面的设计。若从工作效率来考虑,不妨选用具有可视化编辑能力的Visual InterDev。3. 独立于浏览器。用户端只要使用可解释常规HTML码的浏览器,即可浏览ASP所设计的主页内容。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,若不通过从服务器下载来观察*.asp主页,在浏览器端是见不到正确的页面内容的。4. 面向对象。在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能够通过定制 ActiveX Server Component(ActiveX服务器组件)来扩充功能。5. 与任何ActiveX scripting 语言兼容。除了可使用VBScri

23、pt或JScript语言进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其他scripting 语言。6. 源程序码不会外漏。ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。从应用的层面看,ASP有如下的功能:1. 处理由浏览器传送到站点服务器的表单输入。2. 访问和编辑服务器端的数据库内容。使用浏览器即可输入、更新和删除站点服务器的数据库数据。3. 读写站点服务器的文件,实现访客计数器、座右铭等功能。4. 提供广告轮播器、取得浏览器信息、URL表管理等内置功能。5. 由cookies读写用户

24、端的硬盘文件,以记录用户的数据。6. 可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。7. Active Server Pages(动态服务器主页)使用VBScript或JScript等简易的脚本语言,结合HTML码,快速完成站点的应用程序。通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本语言。8. 扩充功能的能力强,通过使用Visual Basic、Java、Visual C+等多种程序语言制作ActiveX Server Component以满足自己的特殊需要。2.2 系统采用的加密与解密技术2.2.1 DES对称加密算法美国国家标准局1973年开始研究除国防部外的其它

25、部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称为DES 密码算法要求)主要为以下四点: 提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改; 具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握; DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础; 实现经济,运行有效,并且适用于多种完全不同的应用。 1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DES棗Data Encryption Stan

26、dard)。 目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。DES算法是这样工作的:如Mode为加密,则用Key 去把数据Data进行加密, 生成Data的密码

27、形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。DES算法详述DES算法

28、把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,整个算法的主流程图如下:其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则见下表:58,50,12,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17, 9,1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7,即将输入的第58位换到第一位,

29、第50位换到第2位,.,依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0 是右32位,例:设置换前的输入值为D1D2D3.D64,则经过初始置换后的结果为:L0=D58D50.D8;R0=D57D49.D7。经过16次迭代运算后。得到L16、R16,将此作为输入,进行逆置换,即得到密文输出。逆置换正好是初始置的逆运算,例如,第1位经过初始置换后,处于第40位,而通过逆置换,又将第40位换回到第1位,其逆置换规则如下表所示:40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,38,6,46,14,54,22,6

30、2,30,37,5,45,13,53,21,61,29,36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,34,2,42,10,50,18,58 26,33,1,41, 9,49,17,57,25,放大换位表32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10,11,12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21,22,23,24,25,24,25,26,27,28,29,28,29,30,31,32, 1,单纯换位表16,7,20,21,29,12,28,17, 1

31、,15,23,26, 5,18,31,10,2,8,24,14,32,27, 3, 9,19,13,30, 6,22,11, 4,25,在f(Ri,Ki)算法描述图中,S1,S2.S8为选择函数,其功能是把6bit数据变为4bit数据。下面给出选择函数Si(i=1,2.8)的功能表:选择函数SiS1:14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,

32、13,S2:15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15,13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9,S3:10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8,13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1,13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7,1,10,13,0,6,9,8,7,4,15,14

33、,3,11,5,2,12,S4:7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15,13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9,10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4,3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14,S5:2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9,14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6,4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14,11,8,12,7,1,14,

34、2,13,6,15,0,9,10,4,5,3,S6:12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11,10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8,9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6,4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13,S7:4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1,13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6,1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2,6,11,

35、13,8,1,4,10,7,9,5,0,15,14,2,3,12,S8:13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7,1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11,在此以S1为例说明其功能,我们可以看到:在S1中,共有4行数据,命名为0,1、2、3行;每行有16列,命名为0、1、2、3,.,14、15列。现设输入为: DD1D2D3D4D5D6令:列D2D3D4D5行D1D6然后在S1

36、表中查得对应的数,以4位二进制表示,此即为选择函数S1的输出。下面给出子密钥Ki(48bit)的生成算法从子密钥Ki的生成算法描述图中我们可以看到:初始Key值为64位,但DES算法规定,其中第8、16、.64位是奇偶校验位,不参与DES运算。故Key 实际可用位数便只有56位。即:经过缩小选择换位表1的变换后,Key 的位数由64 位变成了56位,此56位分为C0、D0两部分,各28位,然后分别进行第1次循环左移,得到C1、D1,将C1(28位)、D1(28位)合并得到56位,再经过缩小选择换位2,从而便得到了密钥K0(48位)。依此类推,便可得到K1、K2、.、K15,不过需要注意的是,1

37、6次循环左移对应的左移位数要依据下述规则进行:循环左移位数1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1以上介绍了DES算法的加密过程。DES算法的解密过程是一样的,区别仅仅在于第一次迭代时用子密钥K15,第二次K14、.,最后一次用K0,算法本身并没有任何变化。 二、DES算法理论图解 DES的算法是对称的,既可用于加密又可用于解密。如图2-1是它的算法粗框图。其具体运算过程有如下七步。三、DES算法的应用误区 DES算法具有极高安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。而56位长的密钥的穷举空间为256,这意味着如果一台计算机的速度

38、是每一秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间,可见,这是难以实现的,当然,随着科学技术的发展,当出现超高速计算机后,我们可考虑把DES密钥的长度再增长一些,以此来达到更高的保密程度。由上述DES算法介绍我们可以看到:DES算法中只用到64位密钥中的其中56位,而第8、16、24、.64位8个位并未参与DES运算,这一点,向我们提出了一个应用上的要求,即DES的安全性是基于除了8,16,24,.64位外的其余56位的组合变化256才得以保证的。因此,在实际应用中,我们应避开使用第8,16,24,.64位作为有效数据位,而使用其它的56位作为有效数据位,才能保证DES算

39、法安全可靠地发挥作用。如果不了解这一点,把密钥Key的8,16,24,. .64位作为有效数据使用,将不能保证DES加密数据的安全性,对运用DES来达到保密作用的系统产生数据被破译的危险,这正是DES算法在应用上的误区,留下了被人攻击、被人破译的极大图2-1隐患。2.2.2 MD5不可逆加密方式MD5简介MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成

40、一定长的大整数。请注意我使用了“字节串”而不是“字符串”这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关。MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后

41、你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不“知道”用户的密码是什么。一些黑客破获这种密码的方法是一种被称为“跑字典”的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些

42、字典项的MD5值,然后再用目标的MD5值在这个字典中检索。即使假设密码的最大长度为8,同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,1)+P(62,2).+P(62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘组,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。在很多电子商务和社区应用中,管理用户的Account是一种最常用的基本功能,尽管很多Application Server提供了这些基本组件,但很多应用开发者为了管理的更大的灵活性还是喜欢采用关系数据库来管理用户,懒惰的做法是用户的密码往往使用

43、明文或简单的变换后直接保存在数据库中,因此这些用户的密码对软件开发者或系统管理员来说可以说毫无保密可言,本文的目的是介绍MD5的Java Bean的实现,同时给出用MD5来处理用户的Account密码的例子,这种方法使得管理员和程序设计者都无法看到用户的密码,尽管他们可以初始化它们。但重要的一点是对于用户密码设置习惯的保护。在前面的介绍中,我们提到网站往往将用户的账号、密码等信息使用非加密的方式保存到数据库,比如账号使用类型为VarChar的UserCount字段,同样,密码也是采用类型为VarChar的Password字段。但是,如果我们打算采用MD5加密方式存储密码信息,就必须改变密码字段

44、PassWord的类型为16为二进制方式,这个其实我们也不难理解,因为在前面的介绍中,我们知道加密以后的输出,是使用二进制数组的,所以,这里必须做相应的改变。 当用户注册成功,正式建立一个账号的时候,数据库中就必须为这个用户增加一条记录。以下的程序代码实现了建立一个账号的功能,在页面中,程序要求用户输入账号、密码等信息,然后,将这些信息作为账号信息存入名为UserCount的数据表,在这个表中,用户密码是使用MD5加密保存的。 “用户名”和“密码”输入框要求用户输入自己的账号和密码,用户输入自己的信息以后,按“建立用户账号”按钮,就可以建立一个账号并且存入数据库。我们同时需要特别注意,因为以上

45、的程序使用到了MD5加密和数据库等功能,所以,在代码最开头,我们引入了几个稍微特别一点的名字空间,这是不可缺少的。PassWord字段的信息是二进制方式保存的,即使数据库被人取得,也不可能知道密码具体是什么意思。当然,密码也就不会泄露。2.3 SQL server 数据库 SQL SERVER2000采用客户/服务器计算模型,即中央服务器用来存放数据库,该服务器可以被多台客户机访问,数据库应用的处理过程分布在客户机和服务器上。客户/服务器计算模型分为两层的客户/服务器结构和多层的客户/服务器结构。 SQL SERVER的技术特点: 1、与Internet的紧密结合 SQL Server 200

46、0的数据库引擎集成了对XML的支持,同时以可扩展易于使用和安全的特点,成为建设大型WEB站点最好的数据存储设备之一。SQL Server 2000的编程模式在很大程度上与专用于开发WEB应用的Windows DNA 架构相集成。同时,SQL SERVER 2000 的诸如英语查询以及Microsoft查询服务等为开发WEB应用提供了友好的而强大的查询界面。 2、可扩展性和可用性 SQL Server 2000 的数据库引擎可以运行在安装WINDOWS 98的台式机、笔记本电脑和安装WINDOWS 2000数据中心的多处理器计算机上。SQL SERVER 2000企业版,具有联特征,完全可以满足

47、最大规模的WEB站点的性能需求。 SQL Server 2000所支持的联盟数据库服务器特性允许用户在多个数据库服务器上去。这多台服务数据库服务器彼此合作提供类似于群集服务器所能提供的强大功能。 3、企业级数据库 SQL Server 2000关系数据库引擎剧本完善而强大的数据处理功能。他在有效保证数据库一致性的基础上,尽量降低成千上万的数据库用户进行并发访问时的管理和延迟成本。SQL Server2000 的分布式查询允许用户同时引用多处数据源,但其友好的界面使用户觉的好象自始至终都是在操作一个数据源。 4、简单、友好的操作方式 SQL Server 2000 包含一整套的管理和开发工具。这些工具都

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号