下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 密码工作聊天加密系统课程设计报告

密码工作聊天加密系统课程设计报告.doc

密码工作聊天加密系统课程设计报告

Bella丽芸
2019-02-15 0人阅读 举报 0 0 暂无简介

简介:本文档为《密码工作聊天加密系统课程设计报告doc》,可适用于IT/计算机领域

设计题目 工作聊天加密系统目 录一、课程设计背景………………………………………………………………………二、设计方案……………………………………………………………………………、总体设计情况…………………………………………………………………服务器端………………………………………………………………客户端…………………………………………………………………聊天系统工作原理图…………………………………………………、各功能模块设计情况…………………………………………………………聊天服务器窗口………………………………………………………登录聊天室和聊天室注册窗口………………………………………基本功能………………………………………………………DES加密方法…………………………………………………用户聊天室窗口………………………………………………………基本功能………………………………………………………DESede和HmacMD加密方法……………………………三、方案分析…………………………………………………………………………、安全性分析…………………………………………………………………、安全强度……………………………………………………………………、运行效率……………………………………………………………………四、设计成果……………………………………………………………………………、总体情况……………………………………………………………………、本人任务……………………………………………………………………、运行界面……………………………………………………………………启动服务器……………………………………………………………用户注册………………………………………………………………用户登录……………………………………………………………… 用户聊天室…………………………………………………………五、总结…………………………………………………………………………………一、课程设计背景随着网络信息时代的到来给人们带来了很多便利人们都渐趋足不出户做什么事都尽量通过网络来实现。自然网聊也就成为人们沟通的主流方式并且网聊是免费的这是受欢迎的主要原因之一此外网聊还可以视频语音等比一般通讯工具方便省事多了因此得到很多人的青睐。而对于工作的人来说更是必要但是网聊问题也随之而来主要体现在信息传输的安全上有些信息并不是公开的尤其是一些机密的信息这就使得人们开始关注信息传输安全问题故设计出一款具有加密功能的聊天系统迫在眉睫、刻不容缓。所以我们开发了一个工作聊天系统该系统是基于开放的JAVA应用程序开发设计的结合密码学的加密算法在java中的实现。其主要特性是能动态、实时的、安全的完成信息的传递且具有高效的交互性更有效的处理客户请求易于维护和更新且具有加密解密功能。二、设计的方案、总体设计情况服务器端()服务器端应当建立一个ServerSocket并且不断进行侦听是否有用户客服端连接或者断开连接即用户的登录时间。而且还可以计算在线人数踢掉非法用户。服务端得实现体现在聊天服务器窗口上可以保存日志向用户发送系统消息。()服务器端应当是一个信息发送和接受中心也就是一个中转站。所有客户端的信息都传到服务器端由服务器端根据要求分发信息。且服务器接受和发送的都是由客服端加密后东西。这样保证了消息传送的安全性。以上就是服务器端最主要的两个任务。不难看出服务器端的任务并不复杂。客户端客户端应该完成的工作包括:()加密自己要发送的信息且要发送消息验证码和防重放的随机数。()与服务器端建立通信通道向服务器端发送加密后的信息。()接收来自服务器的信息。相对服务器而言客户端的任务主要就是保证消息的安全性、保密性、完整性等聊天系统工作原理图、各功能模块设计情况、聊天服务器窗口()服务器管理页签:显示服务器的当前状态如是否启动、在线人数、服务器名访问协议服务器IP、服务端口号、服务器日志、保存日志等。启动本机为服务器端。()用户信息管理页签:显示用户相互发送的信息(密文)、在线用户列表给用户发送系统消息、踢人等、登录聊天室窗口和聊天室注册窗口基本功能实现密码的加密存储管理和身份验证。已注册用户可以直接用自己的用户名和密码登陆。未注册用户可先进行注册。用户认证功能:新用户在注册时会判断用户名是否存在口令两次输入是否相同年龄和电子邮件是否符合规格要求。当一切满足条件后用户用自己的用户名作生成自己的密钥来加密自己的口令然后把加密好的密文传给服务器。加密方法这里采用DES加密方式。DesEncrypt des=newDesEncrypt()desgetKey(pwdUserPasswordgetText()) datacustPassword=desgetEncString(pwdUserPasswordgetText())采用的是DES加密方法调用到DesEncypt()类中的函数如下:publicvoidgetKey(StringstrKey){try{KeyGeneratorgenerator=KeyGeneratorgetInstance("DES")generatorinit(newSecureRandom(strKeygetBytes()))thiskey=generatorgenerateKey()generator=}catch(Exceptione){eprintStackTrace()}}publicStringgetEncString(StringstrMing){bytebyteMi=bytebyteMing=StringstrMi=""try{returnbytehex(getEncCode(strMinggetBytes()))}catch(Exceptione){eprintStackTrace()}finally{byteMing=byteMi=}returnstrMi}这样就完成了存储保密码保护注册后的用户要登录时同样调用该类然后用用户名生成密钥对口令加密从服务器读取注册时传输过去的密文。两者进行匹配相同的话就可以登录。这样就完成了用户认证且每个用户的注册信息都会以密文的形式存储在服务器。当用户改用户名时其密码也改变这样可以保证密码的安全可用性。、用户聊天室窗口基本功能可以显示在线人数用户可以对所有人发送信息也可以选中一个用户进行私聊。在聊天面板会显示你的所有聊天记录当然你也可以采用清屏把屏幕清空。保存按钮可以保存聊天记录在本地的文件上。还可以设置聊天信息框里面的字体、大小、颜色等。最关键的是发送按钮在聊天内容文本框里面输入要发送的消息。用户A可以先把自己要发送的信息进行再传输给服务器服务器把消息发送给指定的用户B用户再通过密钥进行解密。DESede和HmacMD加密方法实现消息的加密完整性检查和防重放的功能:用户A加密消息:采用的是DESede加密算法CBC加密模式PKCSPadding填充方式。用户先把信息和用户B的随机数number加密后密文存在logtxt文件里然后读取文件的密文内容传入服务器。服务器把密文传给指定用户Btry{  Randomr=newRandom()intnumber=rnextInt()newSEncCBC(txtMessagegetText()"n""随机数:"number)对文本框的内容进行加密FileInputStreamf=newFileInputStream("logtxt")将文档中存放的加密的内容读取出来InputStreamReaderdis=newInputStreamReader(f)BufferedReaderreader=newBufferedReader(dis)Strings=readerreadLine()chatobjchatMessage=s  将密文s赋给chatobjchatMessagedisclose()}catch(IOExceptione){}  用户B把从服务器读取的密文进行解密然后把消息显示在自己的用户聊天室界面   try{ 获取初始向量FileInputStreamf=newFileInputStream("logtxt")byterand=newbytefread(rand)IvParameterSpeciv=newIvParameterSpec(rand)获取密文

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/8

密码工作聊天加密系统课程设计报告

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利