《办公自动化毕业设计论文.docx》由会员分享,可在线阅读,更多相关《办公自动化毕业设计论文.docx(34页珍藏版)》请在课桌文档上搜索。
1、办公自动化毕业设计论文摘要网络办公系统是为习惯现代无纸化及网络化办公的趋势,更好地服务于现代办公操作,基于InternetWeb开发的一套广泛应用于各行业企事业单位的办公自动化系统。办公自动化(简称之OAOfficeAutomation)o本文论述了一个基于公司企业实现无纸化办公的使用B/S模式下的充分利用数据库服务的整体软件平台的设计与实现。分析了该系统所习惯的计算机软硬件的配置环境与选取的利弊。讨论了系统的结构框架与设计原理。说明了系统数据库设计的思路与实现方法。系统构建的重点要紧在于系统使用权限的设计、公司营运流程的细分与模式化、系统数据库的合理设计与实现。本文中就如何在软件中实现以上几
2、点作了全面分析与讲解,并给出了使用SqlSerVer数据库建立本系统数据库的实例。关键字B/S网络办公系统ASPSQL技术AbstractThenetworkofficesystemisforadaptingtothemodernwithnopaperatallandnetworkedtrendthathandleofficialbusiness,serveandhandleofficialbusinessmodernlyandoperatebetter,asetofofficeautomatedsystemsappliedtotheeveryprofessionandtradeenterpr
3、isesandinstitutionsextensivelydevelopedonthebasisofInternetWeb.Handleofficialbusinessandturn(abbreviationintoOAautomatically-OfficeAutomation).Thisthesisisfocusedonthedesignandimplementationofhandleofficialbusinesswithoutpaper,inthemodeofcompanymanagementwithfullyDataServiceutilization.Bytheanalysis
4、ofsystemframeworkanddeployment,weexplorethespecificstructureoforiginalDataextractionmodel,buildupaSimplizedmodelwithDataextraction,Datacollection&interpretationandreporttemplatefillingasitsthreephases.Thesystemstructuremainlyemphasizesontheprocesscapabilityoflargequantityofdatabase,systemefficiencya
5、ndglobalparameterconfiguration,soastolessenprogramredevelopment.Inordertorealizetheaboveeffects,suchtechniquesarewidelyusedinthesystem,asmemorycalculation,fastlookupalgorithm,formulaanalysisalgorithm,predicationanalysis,workingprocedurecontrol,reporttemplatefilling,amongwhichseveralkeytechnicalcalcu
6、lationareprovided.KeywordsB/SnetworkofficesystemASPSQLtechnology目录L概述31.1计算机应用概述31. 2系统应用开发的背景及要求3L3系统的环境配置选择51.3. 1B/S结构52.XD网络办公系统所使用的技术82. 1什么是ASP82.1.1ASP的特征82.2系统使用的加密与解密技术92.2.1DES对称加密算法92.2.2MD5不可逆加密方式172. 3SQLserver数据库183. XD网络办公系统设计分析193.1 权限设置213.2 系统结构设计213.3 系统要紧界面介绍223. 4系统部分要紧功能代码233.1
7、.1 系统登陆代码233.1.2 添加数据代码253.1.3 删除数据代码263.1.4 4.4修改数据代码263.4.5查询数据代码274,数据库设计与实现273. 1数据表结构273. 1.1动态信息表274. L2政策文件表285. 1.3公共计划信息表286. 1.4公共通讯录表297. 1.5公共客户表298. L6个人工作计划表309. L7个人基本资料表3010. 1.8个人通讯录3011. 1.9个人客户表3112. 1.10公文传阅表3113. 1.11内部邮件表3214. 结与展望334. 1总结334. 2展望335 .致谢336 .参考文献341.概述1.1 计算机应用
8、概述随着计算机技术的不断进展与提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。今天,计算机的价格已经十分的低廉,性能却有了长足的进步,在发达地区计算机的普及率也能够说已经达到了无所不在的地步,与计算机有关的配套设施,外部设备与网络设置也有了很大的进步,与人们的日常生活有着息息有关的联系,使人们的生活,工作,娱乐等社会活动有了更大的便利与效率。计算机作为我们人类得力的助手,之因此如此流行的原因要紧有下列几个方面:首先,计算机能够代替人工进行许多繁杂的劳动,减少人工的危险性与失误率;其次,计算机能够节约许多资源,降低人工生产劳动的成本;第
9、三,计算机能够大大的提高人们的生产效率;第四,计算机能够使某些敏感与重要的信息更加安全,等等;总之,计算机技术的合理应用是现今社会一个十分重要的课题,许多人投入到计算机科学的研究中,为计算机科学的进步做出了伟大的奉献。能够说计算机技术的进展代表着人类社会的进展,计算机技术的应用已经深入到人类社会的活动当中。在现今人类社会的各类活动中,以经济活动中的公司经营管理为例,合理的使用计算机技术进行经营管理代替传统的人工的管理模式能够有效的提高公司的工作效率,使公司在日趋猛烈的商业竞争中占据有利形式,取得先人一步的商机。1. 2系统应用开发的背景及要求现今的商业社会中,许多非计算机专业的公司企业关于计算
10、机的应用操作还相对停留在一个比较肤浅的应用层面上,并没有充分发挥计算机系统的高性能的智能的优势,计算机只是用来进行一些比较简单的文档处理,网业浏览与信息储存,这些相关于计算机系统强大的功能来说是一种十分严重的资源浪费。计算机系统完全能够充分的融入公司日常的管理经营工作中去,使工作人员通过一定的软件操作界面,进行几个简单的按钮操作与文字输入,就能够完成平常的工作,而且通过计算机网络的辅助,能够随时记录当时的工作情况与重要信息的储存,从而使公司的经营管理工作完全摆脱纸笔记录与人员繁复操作的情况,大大降低了繁复工作所带来的高失误率,提高了工作效率,同时有助于提高工作的保密性与各类信息储存的安全性,工
11、作人员避免了由于某些工作而不得不停下手边的工作去与别的人员频繁见面的情况,只需通过计算机系统进行一定范围内的相互通信,使用几个简单的操作就能够省却许多不必要的烦恼。因此可见,开发一套适用于公司日常经营管理活动的无纸化办公系统关于一个公司企业来说是十分具有现实意义的。但是在现实环境中,每一个公司的实际情况都是完全不一致的,所从事的行业也各不相同,继而所采取的经营管理模式与工作步骤也有很大的不一致,因此每一个公司都需要有一套习惯各自实际情况的管理系统,这对与系统的开发是一个很大的难题,只是我以为,既然我们已经有了设计这种系统的思路就应该坚持不懈的走下去,通过我们的努力一定能够实现我们的办法。尽管开
12、发一套适用与目前所有公司企业的管理系统还是不太可能的情况,但是在同一领域内,各个企业还是具有其相同性的,开发一套适用于一定行业领域内的管理系统还是有其可行性的,本系统就是基于这样的条件而开发的,希望能够通过本系统的开发为今后在各个行业领域内的管理软件的开发提供一个思路与参考。本系统开发的对象是最近社会上比较热门的办理出境留学的中介公司,具体以上海的上教国际公司为开发对象,该公司在此行业领域内具有一定的典型性,操作服务流程比较规范,客户关系网也比较完整。该公司往常的经营管理状态是比较传统的纸笔记录,人员面对面的频繁交流,大会三六九,小会天天有,客户联系通过纸笔记录,有的时候客户不能直接见面就要通
13、过邮寄的方式将资料寄到公司储存,周期长,容易出错,而且成本高,公司经理的管理工作也变的十分烦琐,又要应付客户,又要频繁的与公司内部员工面对面的交流,有的时候需要外出办事却又不能离开公司,工作效率十分低下。因此开发一套管理软件就变的十分的迫切。根据该公司的情况,提出了如下的设计要求: 公司总经理,部门负责人与普通员工的权限分开,依次降低权限。 将公司的管理流程与部门负责人、普通员工的工作流程整合进软件,同时记录工作情况,储存工作信息。 客户的个人资料与公司员工的人事资料分开储存,可随时调用与查询。 数据的安全性与备份。 节约成本。在下列的篇幅里将全面论述本网络办公系统的设计与实现。1. 3系统的
14、环境配置选择开发系统所能够使用的方法与工具有很多种,形式也各不相同,在此我将使用公司内部网站的形式,结合公司原有的内部局域网,形成服务器安装,所有客户机可同时浏览。避免重复安装的情况,达到节约成本的目的。同时,由于只需要在服务器上安装就可执行,也大大减化了程序使用的复杂性,到时,使用者只要以浏览网页的形式,输入ip地址,按照各自的权限登录系统即可。同时,存放数据的数据库也安装在服务器上,由于服务器的安全性能比通常的计算机要好,而且保护一台计算机也比同时保护多台计算机要容易一些,更能够发挥充分的发挥出计算机高效性。系统开发的工具是使用SqlSERVER数据库+ASP后台语言+HS5.O运行环境的
15、经典的基于Web的B/S系统的开发工具。众所周知,IIS5.O是Windows上有名的WebServero在以后的篇幅里将会对以上技术做简要的论述。1.3. 1B/S结构B/S结构,即BrOWSer/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者者改进的结构。在这种结构下,用户界面完全通过阳VW浏览器实现,一部分事务逻辑在前端实现,但是要紧事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,要紧是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScriptJavaScript)与ActiveX技术,用通用浏览器
16、就实现了原先需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows98Windows2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相关于传统的C/S结构应用程序将是巨大的进步。B/S结构使用星形拓扑结构建立企业内部通信网络或者利用Internet虚拟专网(VPN)o前者的特点是安全、快捷、准确。后者则具有节约投资、跨地域广的优点。须视企业规模与地理分布确定。企业内部通过防火墙接入Internet,再整个网络使用TCP/IP协议。网络结构如图1-1。图ITt/Server是建立在局域网的基础上
17、的.Browser/Server是建立在广域网的基础上的.1.硬件环境不一致:C/S通常建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接与数据交换服务.B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备.信息自己管理.有比C/S更强的习惯范围,通常只要有操作系统与浏览器就行2.对安全要求不一致C/S通常面向相对固定的用户群,对信息安全的操纵能力很强.通常高度机密的信息系统使用C/S结构适宜.能够通过B/S公布部分可公开信息.B/S建立在广域网之上,对安全的操纵能力相对弱,面向是不可知的用户群.3 .对程序架构不一致C/S程序能够更加注重流程,能
18、够对权限多层次校验,对系统运行速度能够较少考虑.B/S对安全与访问速度的多重的考虑,建立在需要更加优化的基础之上.比C/S有更高的要求B/S结构的程序架构是进展的趋势,从MS的.Net系列的BiZTaIk2000Exchange2000等,全面支持网络的构件搭建的系统.SUN与IBM推的JaVaBean构件技术等,使B/S更加成熟.4 .软件重用不一致C/S程序能够不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好B/S对的多重结构,要求构件相对独立的功能.能够相对较好的重用.就入买来的餐桌能够再利用,而不是做在墙上的石头桌子5 .系统保护不一致系统保护是软件生存周期中,开销
19、大。C/S程序由于整体性,务必整体考察,处理出现的问题与系统升级.升级难.可能是再做一个全新的系统B/S构件构成,方面构件个别的更换,实现系统的无缝升级.系统保护开销减到最小.用户从网上自己下载安装就能够实现升级.6 .处理问题不一致C/S程序能够处理用户面固定,同时在相同区域,安全要求高需求,与操作系统有关.应该都是相同的系统B/S建立在广域网上,面向不一致的用户群,分散地域,这是C/S无法作到的.与操作系统平台关系最小.7 .用户接口不一致C/S多是建立的WindOW平台上,表现方法有限,对程序员普遍要求较高B/S建立在浏览器上,有更加丰富与生动的表现方式与用户交流.同时大部分难度减低,减
20、低开发成本.8 .信息流不一致C/S程序通常是典型的中央集权的机械式处理,交互性相对低B/S信息流向可变化,B-BB-CB-G等信息、流向的变化,更象交易中1.4系统环境与架构1、系统的需求1)运行环境:MSWINDOWSNTPACK4ORLATERWIN2000WITHIIS4.0ORLATER2)数据库:SQLSERVER20003)其他:服务器安装微软IE浏览器5.0+浏览器务必保证支持COOKIE及JAVASCRIPT2、系统硬件拓扑结构图,如图23用户a用户图1-22.XD网络办公系统所使用的技术2. 1什么是ASPASP是ACtiVeServerPageS的简称,即我们所说的动态网
21、页,是微软公司推出的一种用以取代CGl(CommonGatewayInterface)通用网关接口的技术,也是一种在微软公司的WEB服务器HS(InternetInfomationServer)上开发交互网页的新技术。我们能够通过ASP结合HTML语言、ASP指令与ActiveX元件与数据库等方面知识,使用自己的Web服务器创建并运行动态的交互式Web站点。目前,ASP(ActiveServerPageS)技术已经风靡全球,在Internet上几乎处处能够看到的身影。应用ASP技术,无须复杂的编程,就能够开发出专业的动态Web站点。ASP的出现,给以静态内容为主的Web带来了全新的动态效果。使
22、你的站点具有更加灵活与方便的交互性,在Internet中实现信息的传递与检索越来越容易。随着WindowSNT在WWW上的使用日益增多,ASP已经成为了开发动态网站、构筑Internet与Intranet应用的最佳选择。3. 1.1ASP的特征从软件的技术层面看,ASP有如下的特点:1 .无须编译。ASP脚本集成于HTML当中,容易生成,无须编译或者链接即可直接解释执行。2 .使用常规文本编辑器(如WindOWS下的记事本),即可进行*.asp页面的设计。若从工作效率来考虑,不妨选用具有可视化编辑能力的ViSUalInterDevo3 .独立于浏览器。用户端只要使用可解释常规HTML码的浏览器
23、,即可浏览ASP所设计的主页内容。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,若不通过从服务器下载来观察*.asp主页,在浏览器端是见不到正确的页面内容的。4 .面向对象。在ASP脚本中能够方便地引用系统组件与ASP的内置组件,还能够通过定制ActiveXServerComponent(ACtiVeX服务器组件)来扩充功能。5 .与任何ActiveXscripting语言兼容。除了可使用VBScript或者JScript语言进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其他SCriPting语言。6 .源程序码不可能外漏。ASP脚本在服务器上执行,传到用
24、户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证辛辛苦苦编写出来的程序代码不可能被他人盗取。从应用的层面看,ASP有如下的功能:1 .处理由浏览器传送到站点服务器的表单输入。2 .访问与编辑服务器端的数据库内容。使用浏览器即可输入、更新与删除站点服务器的数据库数据。3 .读写站点服务器的文件,实现访客计数器、座右铭等功能。4 .提供广告轮播器、取得浏览器信息、URL表管理等内置功能。5 .由COOkieS读写用户端的硬盘文件,以记录用户的数据。6 .能够实现在多个主页间共享信息,以开发复杂的商务站点应用程序。7 .ActiveServerPages(动态服务器主页)使用VBScr
25、ipt或者JSCriPt等简易的脚本语言,结合HTML码,快速完成站点的应用程序。通过站点服务器执行脚本语言,产生或者更换在客户端执行的脚本语言。8 .扩充功能的能力强,通过使用ViSUalBasic、Java.VisualC+等多种程序语言制作ACtiVeXServerComponent以满足自己的特殊需要。2.2系统使用的加密与解密技术2.2.1DES对称加密算法美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日与1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称之DES密码算法要求)要紧为下列四点:
26、提供高质量的数据保护,防止数据未经授权的泄露与未被察觉的修改;具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于懂得与掌握;DES密码体制的安全性应该不依靠于算法的保密,其安全性仅以加密密钥的保密为基础;实现经济,运行有效,同时适用于多种完全不一致的应用。1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DESMDataEncryptionStandard)o目前在国内,随着三金工程特别是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PI
27、N的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。DES算法的入口参数有三个:Key、Data、Modeo其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或者被解密的数据;Mode为DES的工作方式,有两种:加密或者解密。DES算法是这样工作的:如MOde为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如MOde为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信
28、的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性与可靠性。通过定期在通信网络的源端与目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。DES算法详述DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,整个算法的主流程图如下:其功能是把输入的64位数据块按位重新组合,并把输出分为LO、RO两部分,每部分各长32位,其置换规则见下
29、表: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位换到第一位,第50位换到第2位,依此类推,最后一位是原先的第7位。L0,RO则是换位输出后的两部分,LO是输出的左32位,RO是右32位,例:设置换前的输入值为D1D2D3D64,则通过初始置换后的结果为:L0=
30、D58D50.D8;R0=D57D49.D7o通过16次迭代运算后。得到LI6、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,62,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,5826,33,1,41,
31、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,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数据。下面给出选择函数S
32、i(i=l,28)的功能表:选择函数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,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,
33、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,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,
34、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,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,1
35、0,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,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
36、,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,在此以Sl为例说明其功能,我们能够看到:在SI中,共有4行数据,命名为0,1、2、3行;每行有16列,命名为0、1、2、3,14、15列。现设输入为:D=DlD2D3D4D5D6令:列=D2D3D4D5行=D1D6然后在Sl表中查得对应的数,以4位二进制表示,此即为选择函数Sl的输出。下面给出子密钥Ki(48bit)的生成算法从子密钥Ki的生成算法描述图中我们能够看到:初始Key值为64位,但DES算法规定,其中第8、1664位是奇偶校验位,不参与DES运算。故Key实际可用
37、位数便只有56位。即:通过缩小选择换位表1的变换后,Key的位数由64位变成了56位,此56位分为CO、DO两部分,各28位,然后分别进行第1次循环左移,得到CLDl,将Cl(28位)、Dl(28位)合并得到56位,再通过缩小选择换位2,从而便得到了密钥KO(48位)。依此类推,便可得到KLK2K15,只是需要注意的是,16次循环左移对应的左移位数要根据下述规则进行:循环左移位数1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1以上介绍了DES算法的加密过程。DES算法的解密过程是一样的,区别仅仅在于第一次迭代时用子密钥K15,第二次K14最后一次用K0,算法本身并没有任何变化。二
38、、DES算法理论图解DES的算法是对称的,既可用于加密又可用于解密。如图2-1是它的算法粗框图。其具体运算过程有如下七步。三、DES算法的应用误区DES算法具有极高安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。而56位长的密钥的穷举空间为256,这意味着假如一台计算机的速度是每一秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间,可见,这是难以实现的,当然,随着科学技术的进展,当出现超高速计算机后,我们可考虑把DES密钥的长度再增长一些,以此来达到更高的保密程度。由上述DES算法介绍我们能够看到:DES算法中只用到64位密钥中的其中56位,
39、而第8、16、2464位8个位并未参与DES运算,这一点,向我们提出了一个应用上的要求,即DES的安全性是基于除了8,16,24,64位外的其余56位的组合变化256才得以保证的。因此,在实际应用中,我们应躲开使用第8,16,24,64位作为有效数据位,而使用其它的56位作为有效数据位,才能保证DES算法安全可靠.64位作为有效数地发挥作用。假如不熟悉这一点,把密钥Key的8,16,24,据使用,将不能保证DES加密数据的安全性,对运用DES来达到保密作用的系统产生数K,图2-1据被破译的危险,这正是DES算法在应用上的误区,留下了被人攻击、被人破译的极大隐患。1.2. 2MD5不可逆加密方式
40、MD5简介MD5的全称是Message-DigestAlgorithm5,在90年代初由MIT的计算机科学实验室与RSADataSecurityInc发明,经MD2、MD3与MD4进展而来。MeSSage-DigeSt泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了“字节串”而不是“字符串”这个词,是由于这种变换只与字节的值有关,与字符集或者编码方式无关。MD5将任意长度的“字节串”变换成一个128bit的大整数,同时它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序与算法描述,也无法将一个MD5的值变换回原始的字符串,从数
41、学原理上说,是由于原始的字符串有无穷多个,这有点象不存在反函数的数学函数。MD5的典型应用是对一段MeSSage(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫readme,txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你能够传播这个文件给别人,别人假如修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。假如再有一个第三方的认证机构,用MD5还能够防止文件作者的“抵赖”,这就是所谓的数字签名应用。MD5还广泛用于加密与解密技术上,在很多操作系统中,用户的密码是以MD5值(或者类似的其它算法)的方式储存的,用户
42、Login的时候,系统是把用户输入的密码计算成MD5值,然后再去与系统中储存的MD5值进行比较,而系统并不“明白”用户的密码是什么。一些黑客破获这种密码的方法是一种被称之“跑字典”的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。即使假设密码的最大长度为8,同时密码只能是字母与数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,l)+P(62,2).+P(62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘组,而且这种方法还有一
43、个前提,就是能获得目标账户的密码MD5值的情况下才能够。在很多电子商务与社区应用中,管理用户的ACCOUnt是一种最常用的基本功能,尽管很多ApplicationServer提供了这些基本组件,但很多应用开发者为了管理的更大的灵活性还是喜欢使用关系数据库来管理用户,懒惰的做法是用户的密码往往使用明文或者简单的变换后直接储存在数据库中,因此这些用户的密码对软件开发者或者系统管理员来说能够说毫无保密可言,本文的目的是介绍MD5的JaVaBean的实现,同时给出用MD5来处理用户的ACCOUnt密码的例子,这种方法使得管理员与程序设计者都无法看到用户的密码,尽管他们能够初始化它们。但重要的一点是关于
44、用户密码设置习惯的保护。在前面的介绍中,我们提到网站往往将用户的账号、密码等信息使用非加密的方式储存到数据库,比如账号使用类型为VarChar的USerCOUnt字段,同样,密码也是使用类型为VarChar的PaSSWOrd字段。但是,假如我们打算使用MD5加密方式存储密码信息,就务必改变密码字段PaSSWOrd的类型为16为二进制方式,这个事实上我们也不难懂得,由于在前面的介绍中,我们明白加密以后的输出,是使用二进制数组的,因此,这里务必做相应的改变。当用户注册成功,正式建立一个账号的时候,数据库中就务必为这个用户增加一条记录。下列的程序代码实现了建立一个账号的功能,在页面中,程序要求用户输
45、入账号、密码等信息,然后,将这些信息作为账号信息存入名为USereOUnt的数据表,在这个表中,用户密码是使用MD5加密储存的。“用户名”与“密码”输入框要求用户输入自己的账号与密码,用户输入自己的信息以后,按“建立用户账号”按钮,就能够建立一个账号同时存入数据库。我们同时需要特别注意,由于以上的程序使用到了MD5加密与数据库等功能,因此,在代码最开头,我们引入了几个略微特别一点的名字空间,这是不可缺少的。PaSSWOrd字段的信息是二进制方式储存的,即使数据库被人取得,也不可能明白密码具体是什么意思。当然,密码也就不可能泄露。2. 3SQLserver数据库SQLSERVER2000使用客户
46、/服务器计算模型,即中央服务器用来存放数据库,该服务器能够被多台客户机访问,数据库应用的处理过程分布在客户机与服务器上。客户/服务器计算模型分为两层的客户/服务器结构与多层的客户/服务器结构。SQLSERVER的技术特点:1、与Internet的紧密结合SQLServer2000的数据库引擎集成了对XML的支持,同时以可扩展易于使用与安全的特点,成为建设大型WEB站点最好的数据存储设备之一。SQLServer2000的编程模式在很大程度上与专用于开发WEB应用的WindowsDNA架构相集成。同时,SQLSERVER2000的诸如英语查询与Microsoft查询服务等为开发WEB应用提供了友好
47、的而强大的查询界面。2、可扩展性与可用性SQLServer2000的数据库引擎能够运行在安装WINDOWS98的台式机、笔记本电脑与安装WlNDOWS2000数据中心的多处理器计算机上。SQLSERVER2000企业版,具有联特征,完全能够满足最大规模的WEB站点的性能需求。SQLServer2000所支持的联盟数据库服务器特性同意用户在多个数据库服务器上去。这多台服务数据库服务器彼此合作提供类似于群集服务器所能提供的强大功能。3、企业级数据库SQLServer2000关系数据库引擎剧本完善而强大的数据处理功能。他在有效保证数据库一致性的基础上,尽量降低成千上万的数据库用户进行并发访问时的管理与延迟成本。SQLServer2000的分布式查询同意用户同时引用多处数据源,但其友好的界面使用户觉的好象自始至终都是在操作一个数据源。4、简单、友好的操作方式SQLServer2000包含一整套的管理与开发工具。这些工具都具有非常友好的用户界面,不但能够提供强大的功能,而且易于安装、使用与公布。用户能够把更多的精力放在自己的业务问题上,能够非常迅速地建立并公布强大而复杂的数据库应用系统。5、数据仓库支持SQLServer2000为了满足现代企业大规模数据进行有效分析与利用的要求,包含了一系列提取、分析、总结数据的工具,从而使联机分析处理成为可能。同时,SQLServer2000提供了英语查