版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录PAGEI基于AES算法的图书馆座位预约平台设计与实现目录TOC\o"1-3"\h\u13925摘要 IV70411绪论 161371.1研究背景 1199131.2研究现状 1154551.3研究目的及意义 3193231.4论文结构 3114542系统分析 4162912.1业务分析 4316412.1.1学生模块分析 4245062.1.2管理员模块分析 4188172.2功能分析 5284422.2.1学生模块功能分析 595192.2.2管理员模块功能分析 8243862.3安全性分析 10269492.4可行性分析 11314813基于AES加密的图书馆座位预约系统设计 12279863.1功能模块设计 12153183.2数据库设计 12194113.2.1数据库概念模型 1293953.2.2数据表字段设计 16197713.3用户功能设计 2043763.3.1学生用户功能设计 20185133.3.2管理员用户功能设计 24104053.4安全功能设计 2626584基于AES加密的图书馆座位预约系统实现 27243074.1系统配置 27117984.2数据库连接设计 27275464.3用户功能 27158574.4管理员功能 31172064.5安全性功能 34101735基于AES加密的图书馆座位预约系统测试 3585965.1功能测试 35287925.2安全测试 37303375.3非功能测试 37216245.3.1安全性测试 37209385.3.2可用性测试 3876505.3.3性能测试 3841975.4测试结果分析 3829836总结与展望 39235336.1总结 39137366.2展望 3922215参考文献 4032426附录 41第1章绪论PAGE8摘要如今高校学生众多,图书馆的座位资源缺少问题愈发严重,随之而来的,则是一系列的占座抢座问题的出现,造成了秩序的混乱以及本就稀缺的座位资源的浪费。为杜绝这些现象的发生,合理使用图书馆座位资源,需要合理运用计算机软件及硬件相关技术,实现对图书馆座位的高效化利用。而随着计算机的快速普及,信息化社会的快速发展,信息在日常工作和生活中的地位和作用越来越大。同时,信息传输的隐私问题也已成为备受人们关注的焦点问题。如何保证用户信息的安全传输成为网络及通信领域研究的重要问题之一。本平台旨在实现对图书馆的座位进行一系列的管理,使用JAVA语言作为后端程序语言,Eclipse为后端开发平台,REACT语句作为前端程序语言,VisualStudioCode作为前端开发工具,使用AES加解密实现对传送信息的加解密功能,AES算法具有密码分组灵活以及密钥长度不唯一等特点,加解密速度都比较快,且占用内存较少,能够适用于规模较大数据信息的加密。使用MD5加密实现对用户登录密码的保密功能,MD5加密技术将用户保存在数据库中的密码进行分组处理,利用计算出的散列值将保存的密码明文加密为MD5值。同时,MD5算法没有对应的逆算法,所以不存在解密算法,保证了用户密码的保密性。选择使用MySQL数据库,完整地保存用户和平台生成和保存的数据信息,以实现学生用户在平台上完成对座位的查询、预约、申请暂离、退座、通信等操作,以及管理员用户对权限的修改、删除等操作。图书馆座位预约平台的出现,可以实现用户高效地使用图书馆位置资源,实现馆内自习室的有序管理,结合AES加密技术,更好地保障了用户数据的隐私性,能够满足绝大多数学生用户的使用需求,同时也保障了对座位资源的合理化使用。关键词:座位预约;AES加密;REACT语句;MD5加密1绪论1.1研究背景计算机与网络的飞速发展与流行,标志着如今的社会已经进入到信息化社会[1]。人们的生产与生活的方式也因此受到了极大地改变,计算机网络已成为人们日常生活和工作中不能缺少的一项重要指标,影响着人们生活和工作的各个方面。在过去需要耗费许多人力财力才能实现的事情,如今只需要一台计算机便可以实现,不仅节约了许多成本,还使得人们的生活和生产作业实现了极高的便捷化和高效化[2]。计算机在方便人们生活和工作之时,它还在教育和学习方面给了人们极高的便捷性。如今,越来越多的大学生选择在图书馆进行学习与阅读,许多高校图书馆依旧采取人为选座占座的方式,使得图书馆会出现一些问题:学生过早前往图书馆准备占座导致休息不足;以及学生使用个人物品帮助自己或他人长时间占座,而被占的座位往往长时间没人来导致图书馆座位的浪费。这些问题的出现都导致了图书馆资源的不合理利用以及秩序的混乱,极大的影响了用户的体验性[3]。而人为对图书馆及其座位进行相关管理的效率也十分的低下,致使图书馆书籍丢失或座位安排不合理等问题的出现。同时,电子媒体的出现,很大范围内使得纸质媒体的地位急剧下降,传统图书馆的借阅模式以及人为图书馆占座的方式已经不能迎合广大借阅者和学生的需要。这一原因,也使得图书馆阅览室的利用率很低,阅览室和座位资源严重浪费。为了实现对图书馆资源的最大化利用,同时节约人力和物力资源,高效地对图书馆实施相应的管控操作,人们运用计算机软件和硬件技术,结合无线传感、移动通信等技术,开发了一系列图书馆管理平台,实现对图书馆管理的网络化、便捷化和高效化,也实现了传统管理方式与前沿技术的有效结合。而为了增加用户的使用体验,许多系统同时在此加入了通信功能,使得用户与用户之间以及用户与管理员之间能够得到及时、合理的沟通与交流,从而使得系统更加人性化,另一方面,也使得管理员能够更加及时地对座位、用户及书籍进行相关地管理操作,实现了高效化管理。管理系统网络化的同时,大量用户信息的加入,网络通信流量的增加,也使得网络安全问题应运而生[4]。用户个人的信息、互相通信的内容都面临着被窃取、被监听的风险,同时,系统也经常面临着SQL注入等一系列针对系统的攻击行为的风险。所以在构建图书馆座位预约平台时需要使用加密技术等信息安全相关技术保证系统的安全性。1.2研究现状信息技术的发展加快了计算机网络和信息传输技术的发展,在网络的空间中,时时刻刻都有大量的信息数据通过互联网络进行传输交换,这些信息数据在传输的过程中,如果不加以安全保护,则很容易被非法窃取或篡改[5]。如何保护信息安全使之能够安全完整地传输,是人们一直以来关注的问题。因此,密码学技术也是一直以来人们一直关注的焦点[6]。如今,针对信息传输与交流的数据加密方式主要分为两种,即对称式加密方法与非对称式加密方法。非对称式加密方法为明文与密文之间的相互转换提供了一种保密性特别强的方法,主要方法为使用一对密钥,即公钥和私钥,加密的一方使用公钥将明文进行加密,加密成功后,将加密后的密文发送给接收方,接收方只能使用自己的私钥才可以解密信息得到明文,而私钥不需用公开,因此非对称式加密方法的保密性非常高[7]。对称式加密方法则是一种最高效、最便捷的加解密方法,它在明文与密文相互转换的过程中使用使用的是相同的密钥,因此加解密的成功率很高同时运行时间很短,被大量使用在很多的大规模数据信息加密过程之中。非对称式加密方法中最流行的方法为RSA算法,对称式加密方法中较为流行的方法为DES算法和AES算法。RSA算法的用途较为宽泛,它既能用于明文与密文之间的转换,同时在数字签名中也起到了很大的作用[8]。RSA的安全基于大数分解的难度。RSA中使用的公钥和私钥是一对大素数的函数,解密者如果想要仅仅利用公钥和已知密文恢复出原始的明文,其工作强度等同于分解两个大素数的乘积,因而几乎不可能在有限时间内成功,因此,这个特性保证了RSA算法的安全性。虽然RSA算法具有较高的安全性,但是其密钥的生成方式比较麻烦,很难实现密钥生成的随机性,而且其分组比较长,为了使安全性得到保障,所以加解密的速度很慢。因此,RSA算法只是适用于规模比较小的数据信息的加密,规模较大的数据信息加密还需要依靠对称式加密方法[9]。DES算法和AES算法是流行比较广泛的对称式加密方法。DES算法采用代替、置换等多种密码技术,其加密操作和解密操作的步骤基本完全一致,不同之处仅仅在于加密与解密使用的部分密钥排序不一致。DES算法的加密单元大小仅为128bit,这种大小对信息传送而言几乎不可用,同时,DES不能对抗差分和线性密码分析[10]。因此,针对DES算法,可以采用暴力破解的方式尝试解密,这也造成了DES算法的安全性比较低的现状。作为一种对称的加密算法,AES算法具有密码分组灵活以及密钥长度不唯一等特点,加解密速度都比较快,且占用内存较少,AES算法的密钥基本单元最低128bit,因此可以防止被暴力破解攻击,具有更高的隐私性[11]。相较于RSA算法而言,AES算法可以对规模较大的数据信息进行明文与密文的相互转换并且速度较快。综合考虑之下,AES算法保密性高、效率比较高、占用内存小等特点,使得AES算法成为信息加密的主流算法[12]。因此,本系统采用AES算法对用户交流信息时传输的数据进行加密和解密操作,保障数据的安全性。MD5信息摘要算法是一种十分流行的密码哈希函数,该函数可以产生128bit的哈希值,以保障信息的一致性[13]。本平台主要使用MD5算法对用户保存在数据库中的用户密码进行加解密操作。用户保存的密码使用MD5算法加密之后被保存在数据库中。当用户键入密码进行登录操作时,平台将登陆界面中被键入的明文转换成MD5值,然后与数据库中存储的MD5值进行匹配,从而判断键入的密码是否正确[14]。平台使用这种方式,可以在不确定用户键入明文的前提下,判断用户键入的明文是否正确,从而判断用户是否为授权的合法用户。这种方式,不仅可以防止管理员轻易知晓普通用户的密码,同时也使得密码明文更加不容易被窃取,保证了用户信息的安全性[15]。因此本平台采用AES加密的方式保证信息传输安全性,采用MD5加密方式保证用户信息的安全性,在用户方便操作系统的基础上保障用户信息的安全性。1.3研究目的及意义本平台旨在实现对图书馆的座位进行一系列的管理,实现用户在平台上进行对座位的查询、预约、申请暂离、退座,以及权限的修改、删除等操作。防止长时间占座、学生过早排队等现象的发生,实现对图书馆座位的合理化操作。同时利用AES加密技术和MD5加密方法,保证信息传输的隐私性以及保障用户个人信息的保密性。1.4论文结构本文主要可以分为如下的六个部分的内容:第一部分绪论,这一章节主要是对文章的研究背景和领域专业学者们对加密技术相关内容的研究现状进行大体的介绍,并结合这两方面对本文章研究的目的和意义进行相应的阐释和分析。第二部分系统分析,这一章节主要从系统开发的方向对本系统进行相应的分析,对学生用户和管理员所具有的功能以及系统的安全性和可行性进行相应的介绍和分析。第三部分系统设计,这一章节主要是对系统中所具有的具体功能进行设计与展示,对具体数据库ER图和数据表进行设计,同时展示出系统具体的功能流程图和安全功能流程图。第四部分系统实现,这一章节主要是对系统具体配置的展示,对系统具体功能的实现进行详尽的介绍和演示。第五部分功能测试,这一章节主要对系统的各项功能进行详细的测试,测试系统功能是否能够符合预期并正常的运行。第六部分总结与展望,这一章节主要对整篇文章进行总体的概括和归纳,对文章研究内容进行总结,并分析本次系统设计的不足之处以及需要改进的方法和技术。第2章系统分析2系统分析本章重点对系统的主要功能进行分析,包括用户模块和管理员模块的业务分析,学生用户主要功能分析,管理员用户主要功能分析,安全性分析,可行性分析,并将这些内容通过用例图表示。2.1业务分析本系统主要面向学生用户和管理员用户。实现用户对座位之间以及用户对用户之间的相关操作,管理员对位置和网页权限的相关操作。用户对座位的操作主要有用户对座位进行查询、预约、申请暂离和退座等操作。用户对用户之间的操作主要有用户相互进行简单的文字交流、图片传输等操作。管理员对位置和网页权限的操作主要有管理员对用户权限的更改以及对用户账号的封锁和释放。2.1.1学生模块分析学生用户进入登录界面,在登录界面选择学校,键入账号和密码进入主界面,主界面有座位管理部分、个人信息部分、规则介绍部分。座位管理部分包含了对座位状态的查看、预约、签到、暂离、退座等功能,个人信息部分包括查看和修改个人信息、与其他用户进行交流、向管理员提交留言、退出登录等功能,规则介绍部分包括对图书过座位预约基本规则的介绍。学生模块用例图如图2-1所示。图2-1学生模块用例图2.1.2管理员模块分析管理员用户进入后台登录主页面,键入登录名、密码以及页面中随机生成的数字验证码,进入系统主页面,系统主页面包含的功能主要有权限管控功能、实时监控功能、日志监察功能、用户监管功能、系统设置功能。权限管控功能主要对用户权限进行修改,实时监控功能主要对主机内存使用状况进行监控和查看,日志监察功能主要保存行为记录日志并且记录对系统的操作活动,用户监管功能主要对管理员的个人信息进行添加、删除和更改,系统设置功能主要实现管理员对后台主页的布局和内容进行修改。管理员模块用例图如图2-2所示。图2-2管理员模块用例图2.2功能分析2.2.1学生模块功能分析学生模块功能主要包括用户注册登录、座位预约、记录查询、个人信息管理、信息交流五个方面的功能。第一,用户注册登录功能。若用户还未拥有个人账号,选择注册选项进入注册主页面,键入所在学校、学号、密码进行账号注册。注册成功之后返回系统登录主页面,同时数据库中会增加一条学生个人数据。用户在完成学校选择,保存学号和密码,完成注册之后,进入登录主页面选择学校,键入学号以及密码,选择登录选项,进行登录操作。用户注册登录的用例图如图2-3所示。图2-3用户注册登录用例图第二,座位预约功能。用户登录成功,进入系统主页面后,即可进行座位管理相关操作。用户可在主界面看到多个校区的不同阅览室供选择,并且可以看到空位置的个数。点击阅览室一栏进入阅览室,用户可选择空闲的座位图标,选择预约选项,预约成功之后回退至系统主页面,此时系统主页面会显示签到选项,选择签到选项成功预约座位即可入座。若有事外出,可点击暂离按钮,实现暂离操作,在规定时间内返回,再次点击签到按钮即可重新入座。用户使用座位完毕,可返回至主界面,点击退座按钮,退座成功后,座位被释放,可在阅览室信息中观察到该座位信息处于空闲状态,即可以被他人预约。座位预约用例图如图2-4所示。图2-4座位预约用例图第三,记录查询功能。用户在成功预约并且退座之后,点击主界面中的预约记录按钮,可以看到自己的预约记录,包括预约时间,位置信息。如果用户点击预约座位,而没有在十五点分钟之内点击签到按钮,则座位预约失败,该座位会被重新释放,并且用户会被记录违规。用户可选择系统主页面中的违规记录选项,能够看到自己的违规记录。记录查询用例图如图2-5所示。图2-5记录查询用例图第四,个人信息管理功能。用户选择系统主页面下方的个人信息选项,能够实现对个人信息的一系列操作,用户能够查看到自己的个人信息并进行更改操作,假如用户希望更改自己的密码,选择更改密码选项,键入新的密码,即可成功更改密码,回退至系统主页面,使用更改后的密码再次登录系统。个人信息管理用例图如图2-6所示。图2-6个人信息管理用例图信息交流功能。用户可以在阅览室座位中,选择已经占座的用户,对其发送文字信息,进行信息交流。同时,用户也可以在个人信息界面选择向管理员提交反馈信息,给管理员发送文字信息。信息交流用例图如图2-7所示。图2-7信息交流用例图2.2.2管理员模块功能分析管理员模块功能主要包括管理员登录、权限管控、日志监察、用户监管、系统设置五个方面的功能。管理员登录功能。管理员用户通过键入url地址进入后台网页登录主页面。键入登录名、密码和数字验证码之后,选择登录选项,系统会与数据表中保存的管理员的登录名和密码信息实行比对操作。如果所键入的登录名、密码以及数字验证码和数据库中保存的数据相一致,那么便登录成功转入系统主页面。管理员登录用例图如图2-8所示。图2-8管理员登录用例图权限管理功能。管理员登录成功进入系统主页面之后,能够对用户的权限进行增加、更改以及除去操作。通过对用户权限的修改操作,控制用户能够访问到的范围,是不同权限的用户访问到的界面层次都有所不同。权限管理用例图如图2-9所示。图2-9权限管理用例图日志管理功能。管理员用户登录成功转入系统主页面之后,选择日志监察选项,可以看到平台的日志记录,包括对系统相关的命令以及具体时间,管理员能够利用日志管理功能实现对系统的安全化管理和监测,避免平台遭受入侵。日志管理用例图如图2-10所示。图2-10日志管理用例图用户管理功能。管理员登录成功进入系统主页面之后,选择用户监管选项,可以对用户信息进行添加、修改和删除,对用户的基本信息如用户昵称等进行修改或者将用户密码初始化,同时会更新数据库中用户的个人信息。管理员可以通过用户监管功能完成对使用者个人信息的合理化操作。用户管理用例图如图2-11所示。图2-11用户管理用例图系统设置功能。在系统主页面菜单栏中,管理员点击系统设置按钮可以完成对后台界面的布局与设计,包括公告栏中的内容、字体、字号等信息,以及页面的分块、目录栏等总体设计。管理员可以通过系统设置功能对后台网页进行合理规划以及美化。系统设置用例图如图2-12所示。图2-12系统设置用例图2.3安全性分析本系统在用户通信交流方面使用AES算法加密。AES算法保密性高、加解密速度快、占用内存小等特点,使得AES算法能够更好地实现明文与密文的相互转换。因此,本系统使用AES算法对所发送的数据实行明文和密文的相互转换操作,保障数据的安全性。同时,在管理员模块中,本系统加入了日志管理功能,通过实时监控日志信息,了解系统的操作情况,防止系统与网站被恶意攻击。在保障用户密码隐私性方面,使用MD5技术对用户密码进行转换密文操作,防止了敏感信息以明文形式保存。MD5信息摘要算法是一种十分流行的密码哈希函数,该函数可以产生128bit的哈希值,以保障信息的一致性。本平台主要使用MD5算法对放在数据库中的密码实行加解密操作。学生和管理员存储的密码使用MD5算法操作之后被存储在数据库中。当用户键入密码准备登入操作时,平台使登入界面中被键入的明文转换成MD5值,之后与数据库中放置的MD5值进行匹配,从而判断键入的密码是不是对的。平台使用这种方式,可以在不确定用户键入明文的前提下,判断用户键入的明文是否正确,从而判断用户是否为授权的合法用户。这种方式,不仅可以防止管理员轻易知晓普通用户的密码,同时也使得密码明文更加不容易被窃取,保证了用户信息的安全性。2.4可行性分析经济可行性。本平台主要使用计算机和手机进行一系列的行为操作,因此经济方面只需要在计算机固件设备、数据库、相关的后台网页和座位上的标签等方面进行一定数额的投资。同时,使用本平台可以提升图书馆座位管理效率,避免了大量金额与时间的投入,也可以使馆内相关人员更方便的工作,使用电脑处理事务,减少了相关人员非常多的工作量,并且,也能够给学生用户带来十分新颖的体验感,减少因为阅览室占座位的现象而带来的一系列的问题。这些都可以节约成本,带来经济收益,因此在经济资金方面是比较可行的。技术可行性。从本平台的实现方面来说,本平台是基于REACT语句的小程序端开发,这类开发和工具已经十分流行,因此在网络上和书本中可以查找到的相关技术方法非常多,避免使用了非常多的时间以研究新的技术。本平台所利用的前端和后端工具也是特别常见的诸如微信开发者平台的一些系统。硬件方面,本平台对硬件的要求非常低,很容易符合要求。从安全性角度来看,AES加密算法具有加密速度快、可用性强等特点。因此,本平台的实现在技术运行方面是没有困难的。操作可行性。本平台在用户使用方面,可以很便利地去使用和操作。对于学生用户和管理员用户来说,图书馆座位预约平台具有简洁的的用户界面和方便的使用导航。学生用户也能够在手机、平板等非固定设施上进行座位的预约,使用极其方便。第3章基于AES加密的图书馆座位预约系统设计3基于AES加密的图书馆座位预约系统设计3.1功能模块设计本平台包括三个部分,分别是用户注册与登录部分、安全功能部分、系统功能部分,其中,系统功能部分根据使用用户的不同被分为学生用户功能和管理员用户功能。用户注册与登录部分能够保障学生用户和管理员用户在注册、登录、更改密码等方面操作的完成。安全功能模块主要实现使用AES加密算法加密通信信息、使用MD5加密保护用户口令、限定字符控制防止SQL注入等功能。学生用户功能主要实现学生基本信息修改、座位管理、信息交流等功能。管理员用户功能主要实现网页页面布局修改、用户权限监管等功能。其中,系统功能模块图如图3-1所示。图3-1功能模块图3.2数据库设计3.2.1数据库概念模型本平台的数据库设计包括的主要实体有自习室,学生用户,学校,座位,违规记录,管理员,预约记录,系统设置,用户权限。学生用户实体的属性包括学生id,学号,密码,手机号,姓名,状态,违规次数,黑名单,创建时间,更新时间,学校id。管理员用户实体的属性包括管理员id,登录名,用户名,密码,创建时间,账号失效时间,创建时间,更新时间,限制登录账号,是否允许多人在线,软删除标识。数据库的E-R图如图3-2所示。图3-2数据库E-R图自习室表包括自习室id,学校id,自习室所在校区,自习室名称,自习室状态,自习室剩余可用数量,自习室座位总量,自习室座位和状态,创建时间,更新时间。自习室E-R图如图3-3所示。图3-3自习室E-R图学校表包括学校id,学校名称,所在省份,所在城市,学校状态,创建时间,更新时间。学校信息E-R图如图3-4所示。图3-4学校信息E-R图座位表包括座位id,学生id,学校id,自习室id,座位所在行,座位名称,座位所在列,座位状态,座位预约时间,签到时长(分钟),入座时间,座位释放时间,创建时间,更新时间。座位信息E-R图如图3-5所示。图3-5座位信息E-R图学生信息表包括学生id,学生姓名,学生学号,密码,手机号,学生账号状态,违规次数,被拉入黑名单时间,数据创建时间,数据更新时间,学校id。学生信息E-R图如图3-6所示。图3-6学生信息E-R图用户权限表包括权限id,权限名称(名称为ROLE_开头,全大写),权限描述,字段创建时间,字段更新时间,权限内容。用户权限E-R图如图3-7所示。图3-7用户权限E-R图系统设置表包括系统id,系统名称,系统logo,系统底部信息,系统公告,字段创建时间,字段更新时间,用户初始化密码管理,系统颜色,API加密。系统设置E-R图如图3-8所示。图3-8系统设置E-R图管理员信息包括管理员id,登录名,用户名称,登录密码,软删除标识,限制允许登录的IP集合,账号失效时间,最近修改密码时间,是否允许账号同时多人在线,创建时间,修改时间。管理员信息E-R图如图3-9所示。图3-9管理员信息E-R图预约记录表包括预约id,学生id,预约时间,座位id,更新时间。预约记录信息E-R图如图3-10所示。图3-10预约记录信息E-R图违规记录表包括违规id,学生id,违规原因,违规时间,座位id,更新时间。违规记录信息E-R图如图3-11所示。图3-11违规记录信息E-R图3.2.2数据表字段设计整个数据库设计中主要的数据表包括学生信息表(student)、座位表(seat)、用户权限表(sys_authority)、自习室表(room)、系统设置表(sys_setting)、管理员信息表(sys_user)、预约记录表(order)、学校表(school)、违规记录表(violation)、等。详细设计见如下表格的描述。自习室表(room)用来存储自习室的相关信息数据。自习室序号id作为自习室表的主键,school_id表示学校的序号,campus表示自习室所在校区,name表示自习室名称,status表示自习室状态(分为三种状态:状态1为启用状态,状态2为待用状态,状态3为维护状态),available表示自习室剩余可用数量,count表示自习室总座位数量,seats表示自习室座位和状态,create_time表示该字段创建时间,update_time表示该字段更新时间。具体字段设计如表3-1所示。表3-1自习室表(room)字段名字段类型是否允许空值备注idint(64)否主键school_idint(64)否campusvarchar(255)否namevarchar(64)是statusint(32)否availableint(32)是countint(32)是seatsjson是create_timetimestamp否update_timetimestamp否学校表(school)用来存储不同学校的信息。学校序号id作为学校表的主键,name表示学校名称,province表示学校所在省份,city表示学校所在城市,status表示学校状态(分为两种状态:状态1为启用状态,状态2为停用状态),create_time表示该字段创建时间,update_time表示该字段更新时间。具体字段设计如表3-2所示。表3-2学校表(school)字段名字段类型是否允许空值备注idint(64)否主键namevarchar(255)否provincevarchar(32)是cityvarchar(32)是statusint(32)否create_timetimestamp否update_timetimestamp否座位表(seat)用来存储自习室位置信息。座位序号id作为座位表的主键,student_id表示学生序号,school_id表示学校序号,room_id表示自习室序号,seat_row表示座位所在行,name表示座位名称,seat_col表示座位所在列,status表示座位状态(分为四种状态:状态1为退座状态,状态2为预约状态,状态3为正常使用状态,状态4为暂离状态),create_time表示座位预约时间,rest_time表示签到时长(分钟),use_time表示入座时间,end_time表示座位释放时间,temp_time表示暂离开始时间,update_time表示更新时间。具体的字段设计如表3-3所示。表3-3座位表(seat)字段名字段类型是否允许空值备注idint(64)否主键student_idint(64)否school_idint(64)否room_idint(64)否seat_rowint(11)否namevarchar(255)否seat_colint(11)否statusint(16)否create_timetimestamp否rest_timeint(11)否use_timetimestamp是end_timetimestamp是temp_timetimestamp是update_timetimestamp否学生信息表(student)用来存储学生信息。学生序号id作为学生信息表的主键,name表示学生姓名,number表示学生学号,password表示密码,phone表示手机号,status表示学生账号状态(分为三种状态:状态1为正常状态,状态2为停用状态,状态3为黑名单状态),violation_time表示违规次数,blacklist_time表示被拉入黑名单时间,create_time表示数据创建时间,update_time表示数据更新时间,school_id表示学校id。具体的字段设计如表3-4所示。表3-4学生信息表(student)字段名字段类型是否允许空值备注idint(64)否主键namevarchar(64)否numbervarchar(64)否passwordvarchar(255)否phonevarchar(32)是statusint(32)否violation_timeint(11)否blacklist_timetimestamp是create_timetimestamp否update_timetimestamp否school_idint(64)否用户权限表(sys_authority)主要用来存储用户权限信息。权限序号authority_id作为用户权限表的主键。authority_name表示权限的名称(名称为ROLE_开头,全大写),authority_remark表示权限描述,create_time表示字段创建时间,update_time表示字段修改时间,authority_content表示权限内容,即可访问的url。具体的字段设计如表3-5所示。表3-5用户权限表(sys_authority)字段名字段类型是否允许空值备注authority_idint(64)否主键authority_namevarchar(64)否authority_remarkvarchar(64)否create_timevarchar(255)否update_timevarchar(32)是authority_contentint(32)否系统设置表(sys_setting)主要用来存储系统设置信息。表id作为系统设置表的主键,sys_name表示系统名称,sys_logo表示系统logo图标,sys_bottom_text表示系统底部信息,sys_notice_text表示系统公告,create_time表示字段创建时间,update_time表示字段修改时间,user_init_password表示用户初始化密码管理,sys_color表示系统颜色,sys_api_encrypt表示API加密。具体的字段设计如表3-6所示。表3-6系统设置表(sys_setting)字段名字段类型是否允许空值备注idvarchar(255)否主键sys_namevarchar(255)是sys_logovarchar(255)是sys_bottom_textvarchar(255)是sys_notice_textlongtext是create_timedatetime是update_timedatetime是user_init_passwordvarchar(255)是sys_colorvarchar(255)是sys_api_encryptChar(1)是管理员信息表(sys_user)主要用来存储管理员信息。管理员序号user_id作为管理员信息表的主键。login_name表示登录名,user_name表示用户名称,password表示登录密码,valid表示软删除标识,limited_ip表示限制允许登录的IP集合,expired_time表示账号失效时间,last_change_pwd_time表示最近修改密码时间,limit_multi_login表示是否允许账号同时多人在线,create_time表示字段创建时间,update_time表示字段修改时间。具体的字段设计如表3-7所示。表3-7管理员信息表(sys_user)字段名字段类型是否允许空值备注user_idvarchar(255)否主键login_namevarchar(255)否user_namevarchar(255)否passwordvarchar(255)否续表3-7字段名字段类型是否允许空值备注limited_ipvarchar(255)是expired_timedatetime是last_change_pwd_timedatetime否limit_multi_loginchar(1)否create_timedatetime否update_timedatetime否validchar(1)否预约记录表(order)主要用来存储用户座位预约记录。预约序号id作为预约记录表的主键,student_id表示学生id,create_time表示预约时间,seat_id表示座位id,update_time表示字段更新时间。具体的字段设计如表3-8所示。表3-8预约记录表(order)字段名字段类型是否允许空值备注idint(64)否主键student_idint(11)否create_timetimestamp否seat_idint(64)否update_timetimestamp否违规记录表(violation)主要用来存储用户违规记录。违规序号id作为违规记录表的主键,student_id表示学生id,reason表示违规原因,create_time表示违规时间,seat_id表示座位id,update_time表示字段更新时间。具体的字段设计如表3-9所示。表3-9违规记录表(violation)字段名字段类型是否允许空值备注idint(64)否主键student_idint(11)否reasonvarchar(255)否create_timetimestamp否seat_idint(64)否update_timetimestamp否3.3用户功能设计3.3.1学生用户功能设计用户注册。初次使用图书馆座位预约系统时,需要进行用户注册操作。系统通过该项功能赋予学生用户使用图书馆座位预约系统的权限,并将用户的个人信息如学号、密码、所在学校等保存到数据库中。学生用户首先进入登录界面,选择用户注册选项之后转入注册界面,选择所在学校之后,键入学号和密码。系统和数据库会对键入学号和密码进行匹配和检测,检查学号是否重复以及密码是否符合标准。检查无误之后,系统分配账号,并将用户信息保存到数据库。用户注册流程图如图3-12所示。图3-12用户注册流程图用户登录。用户进入登入主界面,使用已经注册的学号和密码进行登录操作。首先选择自己所在学校,之后在键入框中键入学号和密码,进行登录操作。系统与数据库将用户键入的学号和密码进行匹配,判断学号是否存在,密码是否键入正确。如果匹配不到信息,提示用户重新键入,并回退至登录界面。如果与数据库信息匹配成功,则成功完成登录操作,进入系统主界面。用户登录流程图如图3-13所示。图3-13用户登录流程图重置密码。如果学生用户忘记自己的密码或者想修改密码,可以通过登录主页面中“重置密码”选项,进入重置密码界面,重新设定密码。用户进入重置密码页面之后,键入自己的学号,系统与数据库将键入的信息进行匹配,如果匹配不到信息,提示用户不存在,并提示用户重新键入学号。学号准确无误后,学生用户键入新密码,之后重复键入一次密码,如果两次键入的密码不一致,则重新键入密码。重新键入的密码也需要符合密码的规定格式。符合规范且检查无误之后,更新数据库信息,完成找回密码操作之后跳转到登录界面。用户重置密码流程图如图3-14所示。图3-14密码重置流程图座位预约。学生用户登录成功进入系统主页面之后,可以进行座位预约。首先学生用户可以在主界面进行校区与阅览室的选择。选择阅览室之后,学生用户进入阅览室选择未被选用的座位进行预约,选择预约之后,学生须在规定的时间之内需要进行签到。如果未在规定的时间之内签到成功,则会被记录违规。在规定的时间之内签到完成之后,则预约座位成功。学生用户在座位使用完成后,需要进行退座操作,退座成功之后,完成整个座位预约的流程。座位预约流程图如图3-15所示。图3-15座位预约流程图3.3.2管理员用户功能设计管理员登录。管理员进入登入主页面。使用已有的用户名和密码进行登录操作。首先在键入框中键入登录名和密码以及随机产生的验证码,进行登录操作。系统与数据库将管理员键入的用户名和密码进行匹配,判断登录名是否存在,密码是否键入正确。如果匹配不到信息,提示管理员重新键入,并回退至登录界面。如果与数据库信息匹配成功,再判断验证码是否键入正确,如果键入错误,则提示用户验证码键入错误,并再次刷新验证码。用户键入正确的验证码之后,则成功完成登录操作,进入后台主页面。管理员登录流程图如图3-16所示。图3-16管理员登录流程图管理员后台操作。管理员用户登录成功后,进入后台主页面,可以对网页界面、用户权限以及个人信息进行相关操作。管理员可以进行个人信息修改,用户权限修改等操作的选择。选择修改用户权限之后,管理员可以选择关闭用户权限或者开通用户权限。选择个人信息修改之后,管理员可以对个人信息进行修改操作。后台操作流程图如图3-17所示。图3-17后台操作流程图3.4安全功能设计通过AES加密算法实现学生之间的信息交流隐私性,存储的用户口令等内容使用MD5算法实行相关操作,防止私人信息被保存以未加密的情况下。对学生用户的键入进行限定字符控制,预防对系统及数据库进行SQL注入攻击。有操作日志可供管理员检查审计,保障系统的稳定性以及可用性。此外,AES加密算法是特别流行的明文密文转换算法,其密钥建立时间短、解密时间短、只占用很小的内存,适合经常发送数据的场合。利用AES加密的通信过程如图3-18所示。图3-18AES加密过程图第4章基于AES加密的图书馆座位预约系统实现4基于AES加密的图书馆座位预约系统实现4.1系统配置为了完成平台的不同种类的要求,对基本的配置以及平台的配置是实现平台功能的第首要部分。本次设计完成的平台需要使用JDK以及Maven的一系列配置。本次设计平台用到的JAVA环境版本为JDK1.8,在电脑中实行基本配置之后在命令行中键入相关指令,JDK具体配置如图4-1所示。图4-1JDK版本本次设计平台利用的Maven版本是3.63,基础设置完成之后在命令行中键入相关指令,Maven的基础配置如图4-2所示。图4-2Maven基本配置4.2数据库连接设计本课题采用JDBC的方式连接数据库,数据库配置代码如下:datasource:url:jdbc:mysql://localhost:3306/admindb?serverTimezone=GMT%2B8&characterEncoding=utf-8username:rootnnpassword:123456driver-class-name:com.mysql.cj.jdbc.Driver4.3用户功能用户进入登录主页面,使用已经注拥有的学号和密码进行登录操作。首先选择自己所在学校,之后在键入框中键入学号和密码,进行登录操作。系统与数据库将用户键入的学号和密码进行匹配,判断学号是否存在,密码是否键入正确。学号密码键入正确之后,成功完成登录操作,进入系统主界面。用户登录主界面图如图4-3所示。图4-3用户登录界面图用户登录成功之后,进入系统主页面,在系统主页面中可以看到使用记录、违规记录等信息。在主界面的下半部分可以看到校区分布和阅览室选择。在阅览室的选择栏可以看到场馆的开馆时间以及每个阅览室的座位总数和可用座位数,登录主界面信息如图4-4所示。图4-4用户登录主界面确定完校区和阅览室之后,可以进入阅览室主页面,进行座位的选用。阅览室主页面中,灰色位置表示为可预约位置,红色位置表示为已经被预约位置,深红色位置表示为正在被使用位置。学生用户可以选择灰色位置即可预约位置进行选座。座位选择图如图4-5所示。图4-5座位选择图学生用户选择座位后可对座位进行预约操作,选择预约之后,学生须在15分钟之内进行签到。如果未在规定的时间之内签到成功,则会被记录违规。在规定的时间之内签到完成之后,则预约座位成功。座位预约成功图如图4-6所示。图4-6座位预约成功图签到完成后,学生用户可以对座位进行使用,回退至系统主页面,学生用户可以看到已经入座的座位信息。如果学生用户需要暂时外出,可以选择“暂离”选项,这样不会导致座位资源的浪费,也不会导致系统的误判。座位使用完成之后,学生用户可以选择“退座”选项,退出座位。座位签到成功图如图4-7所示。图4-7座位签到成功图学生用户如果未在规定的时间之内签到成功,则会被记录违规,在系统主页面的“违规记录”选项中可以看到自己的违规记录。违规记录中包括违规原因和违规时间。违规记录图如图4-8所示。图4-8违规记录图学生用户可以通过主界面下方的“使用规则”选项,了解系统的使用规则。使用规则界面包括本座位的当前状态,用馆规则,预约规则,违规规则,黑名单规则。系统使用规则图如图4-9所示。图4-9系统使用规则图4.4管理员功能管理员进入登录主页面。使用已经拥有的登录名和密码进行登入操作。首先在键入框中键入登录名和密码以及随机产生的验证码,进行相关登录操作。系统与数据库将管理员键入的登录名和密码进行匹配,判断用户名是否存在,密码是否键入正确以及验证码是否键入正确。确定用户键入正确用户名、密码以及验证码之后,则成功完成登录操作,进入后台主界面。登录主界面如图4-10所示。图4-10管理员登录主界面图管理员登录成功进入系统主页面之后,可以通过权限管理选项,为不同的用户赋予不同的操作权限,包括权限名称、权限内容和权限描述,使得拥有不一样权限的学生可以登录不同的页面,权限管理图如图4-11所示。图4-11权限管理图管理员可以通过实时监控选项,进行对系统的检测,检测信息包括系统信息、JVM堆内存、CPU、内存、磁盘等使用情况等实时信息,以保持系统的正常运行。系统实时监控图如图4-12所示。图4-12实时监控图管理员可以通过实时日志选项,检测到用户对网页以及系统的操作,主要记录内容为具体时间,不同用户对系统的具体操作形式,方便管理员对系统的管理操作,系统实时日志图如图4-13所示。图4-13实时日志图管理员可以通过用户管理选项,主要实现对用户的操作管理功能,可以对用户的信息进行添加、修改、删除,管理员可以修改用户的登录名,账号状态,对用户密码进行重置等操作。系统用户管理图如图4-14所示。图4-14用户管理图后台主页面中的系统设置功能,主要实现对网页的管理操作,如修改通知公告、查看用户的初始密码,修改系统logo,修改系统布局以及查看最近一次的更新时间,可以实现对系统的管理与设计等等,系统设置图如图4-15所示。图4-15系统设置图4.5安全性功能本平台在管理员登录主页面加入了随机数字验证码,管理员用户在进入登录页面之后,除了要键入自己的登录名以及密码,还需要根据随机生成的验证码,选择键入正确的数字验证码。如果键入错误,管理员用户不会登录成功,同时主页面会重新刷新,生成新的数字码。这种方法可以防止平台被攻击者使用多次尝试的方法窃取到用户密码。随机验证码如图4-16所示。图4-16随机验证码本平台主要使用MD5算法对放在数据库中的密码实行加解密操作。学生和管理员存储的密码使用MD5算法操作之后被存储在数据库中。当用户键入密码准备登入操作时,平台使登入界面中被键入的明文转换成MD5值,之后与数据库中放置的MD5值进行匹配,从而判断键入的密码是不是对的。平台使用这种方式,可以在不确定用户键入明文的前提下,判断用户键入的明文是否正确,从而判断用户是否为授权的合法用户。这种方式,不仅可以防止管理员轻易知晓普通用户的密码,同时也使得密码明文更加不容易被窃取,保证了用户信息的安全性。MD5数据加密如图4-17所示。图4-17MD5数据加密学生用户之间进行相互的信息交流时,如果交流的信息以纯明文的形式传输,会面临比较大的交流信息被窃取的风险。因此,本平台在信息交流界面加入了AES加密算法,以对传送的数据信息进行转密文操作,保障学生用户信息交流阶段的隐私性。其中,AES加密信息的后台结果如图4-18所示。图4-18AES信息加密第5章基于AES加密的图书馆座位预约系统测试5基于AES加密的图书馆座位预约系统测试5.1功能测试对本平台设计与分析阶段给出的各项功能给出相应的功能性测试,将预期目标与实际结果相比对,测试出实际功能是否能够达到预期目标,并给出具体的测试操作表。具体的测试部分如下:学生用户注册登录功能测试:测试注册功能是否完备,测试登录功能是否完备,测试注册功能是否具有相应的校验功能。测试登录功能是否具有用户授权合法性的检验功能。具体的注册登录功能测试表如表5-1所示。表5-1注册登录功能测试表测试用例主要步骤预期结果实际结果1进入注册页面,选择学校,键入新的学号,键入密码,进行注册提示注册成功,跳转至登录主页面提示注册成功,跳转至登录主页面2进入注册页面,选择学校,键入已有的学号,键入密码,进行注册提示账户已存在,拒绝注册提示账户已存在,拒绝注册3进入登录主页面,选择学校,键入已经注册的学号,键入正确的密码,进行登录登录成功,跳转至系统主页面登录成功,跳转至系统主页面4进入登录主页面,选择学校,键入还未注册的学号,键入正确的密码,进行登录提示学号键入不正确,拒绝登录提示学号不正确,登录失败5进入登录主页面,选择学校,键入已经注册的学号,键入错误的密码,进行登录提示密码键入不正确,拒绝登录提示密码不正确,登录失败座位预约测试:测试用户座位预约功能是否能够正常使用,测试用户是否能够正常选择校区、阅览室以及座位,测试用户是否能够正常选取座位,测试用户是否能够对座位进行签到、暂离以及退座功能,测试用户是否能够查看预约记录以及违规记录。座位预约测试表如表5-2所示。表5-2座位预约测试表测试用例主要步骤预期结果实际结果1进入系统主界面,对校区信息进行选择选择不同的校区,会看到不同校区的阅览室信息选择不同的校区,可以看到不同校区的阅览室信息2校区选择完毕,在不同的校区之中选择不同的阅览室选择不同的阅览室,会看到阅览中的座位信息选择不同的阅览室,可以看到阅览中的座位信息3阅览室选择完成,查看座位的使用状态可以查看到座位的不同的状态信息查看到座位存在可用、被预约、正在被使用三种状态4选择可用座位,点击预约按钮提示预约完成并回退至主界面提示座位预约完成,主界面出现座位预约状态5查看已被预约座位,点击签到按钮提示签到成功提示签到成功6查看已签到的座位,点击暂离按钮提示暂离成功提示暂离成功7查看已暂离的座位,点击回座按钮提示回座成功提示回座成功8查看已签到的座位,点击退座按钮提示退座成功提示退座成功9点击主界面预约记录按钮可以查看到用户的预约记录查看到用户的使用记录10点击主界面违规记录按钮可以查看到用户的违规记录查看到用户的违规记录5.2安全测试对本平台的安全相关的各项功能给出相应的测试。检查平台的安全性功能是否符合预期的标准,保障平台系统和用户信息的隐私性和安全性。主要测试部分包括测试用户网页使用权限的分配是否能够实现,测试随机数字验证码功能是否能够正常使用,测试日志监察功能是否能够正常监测到操作记录,测试系统内存监测功能是否能够正常运行,测试字符串检测功能是否能够正常运行。安全功能测试表如表5-3所示。表5-3安全功能测试表测试用例主要步骤预期结果实际结果1管理员用户进入后台登录主页面,键入正确的登录名、密码,键入正确的随机数字验证码登录成功,跳转至网页后台主页面登录成功,跳转至网页后台主页面2管理员用户进入后台登录主页面,键入正确的登录名、密码,键入错误的随机数字验证码提示验证码键入错误,拒绝登录,随机生成新的数字验证码提示验证码错误,登录失败,随机生成新的数字验证码3管理员用户进入后台主页面,选择日志审查功能,转入日志查看主页面,用户对平台进行相关操作管理员刷新日志查看页,查看到有新的操作记录管理员刷新日志查看页,查看到有新的操作记录4管理员进入后台主页面,选择权限管理功能,转入用户权限页面,对不同的用户分配不同的网页权限不同的用户登录网页,会访问到不同的网页界面,不能访问未经授权的页面不同的用户登录页面,会访问到不同的网页界面,不能访问未经授权的页面5管理员进入后台主页面,选择内存监测功能,转入内存监测页面,查看系统内存使用情况管理员会看到实时的内存使用信息管理员看到实时的内存使用信息6用户在注册页面和登录页面键入密码,分别尝试键
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工厂危废培训课件
- 山东省枣庄滕州市2025-2026学年上学期期末七年级语文试卷(含答案)
- 辽宁省葫芦岛市2025-2026学年高一上学期1月期末考试化学试卷(含答案)
- 2025~2026学年济南市天桥区七年级第一学期数学期末考试试题以及答案
- 2025-2026学年河南省南阳市镇平第一高级中学高三(上)期末数学试卷(含答案)
- 化工企业双控培训课件
- 飞行安全基础课件
- 钢结构预拼装技术方法详解
- 化工介绍教学
- 2026恒丰银行资金运营中心实习生招收7人参考考试题库及答案解析
- 2026届湖北省宜昌市部分示范高中教学协作体数学高一上期末教学质量检测试题含解析
- 2025年风电运维成本降低路径报告
- 2026年《必背60题》 计算机科学与技术26届考研复试高频面试题包含详细解答
- 2026年初中奥数试卷真题及答案
- 江苏省教改课题申报书
- 2026年扬州市职业大学单招职业适应性考试题库及完整答案详解1套
- 公司人力资源部2026年工作计划
- 债务重组教学课件
- 2025年中国资产管理行业发展研究报告
- 雨课堂学堂云在线《人工智能原理》单元测试考核答案
- 2025年偏钒酸铵行业分析报告及未来发展趋势预测
评论
0/150
提交评论