摘要:本文针对当前网络飞速发展,而网络安全却还较为薄弱的现状,为了改善网络聊天方面的安全隐患问题,使用面向对象编程的思想设计一款基于TCP/IP协议的加密聊天软件。该软件使用的是C/S模式,并使用跨平台的JAVA语言进行实现,与此同时还使用了MINA框架中的NIO技术对软件进行了优化。为保证软件能进行安全通讯,软件底层使用了加密算法对通讯数据进行加密。加密算法使用RSA和AES两种算法,使用RSA分发AES的密钥,通讯数据使用AES进行加密,接收方再使用收到的AES密钥对通讯数据进行解密。34609 毕业论文关键词:JAVA;聊天软件;加密;C/S
Design and Implementation of Encrypted Chat Software Based on JAVA
Abstract:Based on the current rapid development of the network, and the network security situation is relatively weak, in order to improve the safety problems of the network chat, using the idea of object-oriented programming to design an encrypted chat software based on TCP/IP protocol. The software uses the C/S system model and uses the cross-platform JAVA language to realize. At the same time, it uses the NIO technology in the MINA framework to optimize the software. In order to ensure the security of the software, the encryption algorithm is used to encrypt the communication data. Encryption algorithm using RSA and AES two algorithms, the use of RSA distribution of the AES key, communication data using AES encryption, the recipient then use the received AES key to decrypt the communication data.
Key words:JAVA;chat software;encryption;C/S
目 录
摘要 1
关键词 1
Abstract 1
Key words 1
引言 1
1.选题背景 1
1.1.国内外研究近况 2
1.2.技术背景 2
1.3.1.Java语言 2
1.3.2.TCP/IP 2
1.3.3.Socket编程 2
1.3.4.C/S模式 3
1.3.5.NIO技术 3
1.3.6.MINA框架 3
2.软件系统需求分析和设计 3
2.1.服务端需求分析和设计 4
2.1.1.功能需求分析 4
2.1.2.性能需求分析 4
2.1.3.服务端的类设计 4
2.2.客户端需求分析 4
2.2.1.功能需求分析 4
2.2.2.性能需求分析 5
2.2.3.客户端的类设计 5
2.3.数据库设计 5
3.软件系统加密设计和实现 5
3.1.加密结构设计 5
3.2.加密算法实现 7
3.2.1.RSA加密 7
3.2.2.AES加密 8
4.软件系统实现 12
4.1.用户登录用例实现 12
4.2.用户注册用例实现 13
4.3.用户添加好友用例实现 14
4.4.用户与好友聊天用例实现 15
5.总结与展望 16
致谢 16
参考文献 17
基于JAVA的加密聊天软件的设计和实现
随着社会的进步与科学技术的不断发展,人们的生活方式在不停的发生着变化,在这短短的几十年里,人们的交流方式也在不断变化,从最开始的只能通过书信,到后来的固定电话,再到后来的移动电话。随着互联网时代的到来,人们交流的方式发生了巨大的变化,人们开始使用网络发邮件、视频聊天、发微博等等。而网络聊天也成为了人们交流不可或缺的一部分。