网络加密聊天软件设计与实现

网络加密聊天软件设计与实现
网络加密聊天软件设计与实现

网络加密聊天软件设计与实现

1.功能需求与用户界面的设计

网络加密聊天软件要实现的功能主要有两个方面:第一个功能是网络聊天,只要两台或多台主机同时可以上网,又安装了该软件,双方即可以互相通信,局域网的广播/组播功能使多方的聊天也很容易实现。第二个功能也是一个可选的功能,在你认为比较信息需要绝对保密地情况下,可以选择加密发送,即使其他人看到了你的聊天记录,也只是一连串的字符。此处的加密方式我采用的是MD5算法,由于它的不可逆性,实现起来是比较安全的。

如图1为该应用程序的主界面。

图1 网络加密聊天的主操作界面

如下图所示,总共有六个主要的图标:在线、离线、断线、设置、关于这个程

序和加密发送。

在线的作用是当网络连接成功后,在互联网或局域网中,就可以找到自好友,好友也可以同时发现自己,这样就可以进行聊天。

离线的作用是当你有事情离开,并且在一定时间内返回,而又不想让的好友一直等你,进行自动回复,可以点击这个功能。

断线的作用是彻底地离开你的好友群,你的好友将失去于你的联系。

设置的作用是针对用户的。如下图所示:

设置您的名称和设置您的图标可以在网络上显示您自定义的名字和您选择的图

标,如。您离线时的留言将在您点击离线这个功能后起到自动回复的作用。发送后最小窗口是在每次用户在发送消息后主界面自动最小化。每次启动时出现的作用是当每次启动这个软件时,设置用户参数的功能也一起出现。点击保存后,上述的选项随之生效,并出现显示对话框。点击退出后,将退出这个界面。

加密发送是个可选功能,在不点击此功能聊天情况下,直接按Ctrl+Enter

发送消息。当你需要加密你的消息时,直接点击这个选项,即可以完成发送和

加密,别人看到的只是一些字符串,大写十六进制的ASCII码。

2.应用软件的设计与实现

2.1软件的结构

由于Java语言是一种面向对象设计(OOP)的语言,在设计软件的时候,我

采用算法设计的分治法来设计软件结构。设计一个最顶层的功能模块,然后分

别往里面添加各个功能模块,而各个功能模块又有低一级的功能模块所构成。

软件的主界面是最顶层的功能模块,是一个容器。一个容器包括了两个面板,即第二层的功能模块。第一个面板由下一层的功能模块来实现。第二个面

板由六个小功能模块实现。层次结构如下图所示:

2.2软件功能的实现

软件功能主要是靠原代码来实现,由于采用Java编写,我写了五个主要的类,分别是:如下图

其中frm_ahout类实现了功能,frm_set这个类实现了

这个功能,ctools这个类实现了网络连接和找到在线用户的功能。MD5和mainform是主要的两个类,MD5实现了加密,mainform实现了主界面和发送数据。

我这里的采用的加密算法是MD5算法。MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑。

MD5的部分源代码:

/*getMD5ofStr是类MD5最主要的公共方法,入口参数是你想要进行MD5变换的字符串

返回的是变换完的结果,这个结果是从公共成员digestHexStr取得的.*/

public String getMD5ofStr(String inbuf) {

md5Init();

md5Update(inbuf.getBytes(), inbuf.length());

md5Final();

digestHexStr = "";

for (int i = 0; i < 16; i++) {

digestHexStr += byteHEX(digest[i]);

}

return digestHexStr;

}

mainform类的部分代码:

void ed_input_keyTyped(KeyEvent e)

{

if((mainform.onlinestate!=1)&(e.isControlDown()))

{

JOptionPane.showMessageDialog(null, "没有处于在线状态,不能发送消息!");

return;

}

if

((!cbo_bc.isSelected())&(mainform.getuserip().trim()=="")&e.isControl Down())

{

JOptionPane.showMessageDialog(null,"你还没有选择给谁发消息!"); return;

}

String userinput;

userinput=ed_input.getText().trim();

if (e.isControlDown()&(e.getKeyChar()=='\n'))

void but_exit_actionPerformed(ActionEvent e) {

MD5 md5=new MD5();

String cyphertext;

String plaintext;

plaintext=ed_input.getText().trim();

3.软件安装和使用说明

3.1软件安装

由于该软件经过JBuilder9编译归档后已经生成可执行文件网上加密聊天.exe,只要双击它即可运行。另外还有Windows、linux、mac和solaris四种

操作系统环境下的可执行文件,如下图所示:

(省略了)

在Windows环境下,双击,就可以实现运行程序,主界面如图1所示。

3.2 使用说明

本软件界面简洁明了,通过工具栏图标即可完成基本操作,而且会同时在状态栏和图标上面显示文字提示信息,使得用户使用起来更加方便。

点击后表示已经连接,按下快捷键Ctrl+Enter后即可发送信息;点击

后,如图所示

第一行是普通的聊天信息,第二行是在点击加密发送后出现的密文,十六进制的ASCII码。

文件加密与解密—Java课程设计报告

JAVA课程设计题目:文件的加密与解密 姓名: 学号: 班级: 日期:

目录 一、设计思路 (3) 二、具体实现 (3) 三、运行调试与分析讨论 (8) 四、设计体会与小结 (11) 五、参考文献 (12) 六、附录 (12)

一、设计思路 自从Java技术出现以业,有关Java平台的安全性用由Java技术发展所引发的安全性问题,引起了越来越多的关注。目前,Java已经大量应用于各个领域,研究Java的安全性对于更好地利用Java具有深远的意义。使用Java的安全机制设计和实现安全系统更具有重要的应用价值。 本课程设计,主要实践Java安全中的JCE模块,包括密钥生成,Cipher对象初始化、加密模式、填充模式、底层算法参数传递,也涉及文件读写与对象输入输出流。 二、具体实现 本系统通过用户界面接收三个参数:明文文件、密文文件、口令。采用DES加密算法,密码分组链(Cipher Block Chaining,CBC)加密模式,PKCS#5-Padding的分组填充算法。因为CBC涉及到底层算法参数的解密密钥的传递,所以将明文文件中的字节块以密封对象(Sealed Object)的方式加密后,用对象流输出到密文文件,这样就将密文、算法参数、解密密钥三都密封到一个对象中了。口令的hash值作为产生密钥的参数。设计流程图如下所示: 文件加密与解密设计流程图

本系统中,包含Default,Shares,SecretKey,EncAndDec四个包共6个类组成。定义的几个参数:MAX_BUF_SIZE为每次从文件中读取的字节数,也是内存缓冲区的大小;加密算法为DES;加密模式是密码分组链(CBC)模式;分组填充方式是PKCS#5Padding。包和类结构图如下所示: 本课程设计,包和类结构图: 以下为包中的类的方法实现说明 Package Shares类结构图

移动互联网聊天工具分析报告

移动互联网IM服务市场分析报告 一、行业及市场格局分析 1、行业概况:统计表明,目前移动互联网用户MIM的使用率高达73%,如同IM在互联网用户中的渗透一样,很多用户都是通过朋友间告知而开始使用该业务的。对运营IM的服务商而言,这一业务的最大价值在于对用户的高度黏性。这是由三方面的业务特点决定的:一是MIM客户端可以占领用户的手机和PC桌面;二是用户对IM账号会形成依赖;三是用户的社交关系一旦与某一个IM 软件结合,就再难轻易地转用其他IM软件。因此,无论是互联网服务商还是移动运营商,都对MIM业务寄予了厚望。通过MIM业务实现移动互联网客户群的积累,并进一步实施客户流量的价值经营,包括对移动互联网业务组合的针对性营销和社区经营等。 中国移动的飞信业务是一款综合信息通信平台,截至2008年第三季度,飞信活跃用户已经超过2650万,在国内IM市场排名第二。最早,中国移动与腾讯合作推出移动QQ服务,在手机终端与PC QQ直接短信互通,让手机用户得到移动化的IM服务,从而让合作双方都得到了“相当不错”的业务收入。之后,在自营MIM业务“飞信”全面推出之际,2006年6月,中国移动向部分省公司下发通知,要求暂缓与提供互联网IM业务的SP续签移动梦网合作协议。目前,中国移动和腾讯实现了飞信和QQ平台的对接,飞信用户和QQ用户之间通过飞信QQ业务实现互通,该合作业务成为飞信的一项子业务。从中国移动推出飞信前后与腾讯移动IM业务合作的分分合合中,我们看到了移动运营商与IM服务商之间的竞合矛盾。那么,站在移动运营商的角度,面对MIM这样一个既有丰富的用户使用需求,又可以带来至关重要的用户黏性及收入的战略型业务,应该如何切入、应该如何处理与优势IM服务商之间的关系,是一个值得慎重考虑的大问题。 2、市场格局: 飞信:飞信是中国移动的综合通信服务,即融合语音(IVR)、GPRS、短信等多种通信方式,覆盖三种不同形态(完全实时的语音服务、准实时的文字和小数据量通信服务、非实时的通信服务)的客户通信需求,实现互联网和移动网间的无缝通信服务。飞信不但可以免费从PC给手机发短信,而且不受任何限制,能够随时随地与好友开始语聊,并享受超低语聊资费。飞信Fetion 2012 Beta为最高版本,中国移动飞信实现无缝链接的多端信息接收,MP3、图片和普通OFFICE 文件都能随时随地任意传输,让您随时随地都可与好友保持畅快有效的沟通,工作效率高,快乐齐分享!飞信还具备防骚扰功能,只有对方被您授权为好友时,

计算机网络--简单聊天程序的设计与实现

实验报告 课程计算机网络实验名称简单聊天程序的设计与实现第 1 页 一、实验目的 1.熟悉VisualC++的基本操作;掌握最基本的Client/Server(客户机/服务器)模式 的网络编程技术,并在此基础上实现更为复杂的网络编程。 2.基本了解基于对话框的windows应用程序的编写过程。 3.对于Windows Socket编程建立初步概念。 二、实验内容 1、按实验步骤中参考程序使用VC++设计出程序; 2、在第1步的基础上使用VC++或其他工具设计出一个能实现两个人聊天的网络程序。 三、实验原理 1.Windows Socket和套接字的基本概念; 程序分为服务端和客户端两个,其主要工作过程如图1所示: 服务器端:服务器程序首选启动,通过调用socket()函数建立一个套接字,然后调用bind()函数使套接字和本地网络地址联系在一起,再调用listen()使套接字做好侦听的准备,并规定它的请示队列的长度,之后就调用accept()来接收连接。客户机端:客户机程序也使用socket()建立套接字,然后调用connect()函数和服务器建立连接。连接一旦建立,客户机和服务器之间就可以通过调用read()和write()来发送和接收数据。 最后,等数据传送结束后,双方调用close()关闭套接字。 四、实验环境和实验工具 实验环境:Windows 平台、实验工具:VC++ 五、实验步骤 服务器端程序 (1)运行VC++,选择File --->New,弹出如图2所示的窗口。 (2)创建一个名为CS的工程:选中Projects中的MFC AppWizard[exe],在Project name中 输入Server,在Location中选择存储的目录,如本例中为D:\VC temp\.接着点击OK。 (3)在弹出的窗口中选择Dialog based,然后点击“Next”。出现图3所示的窗口,选择Windows Sockets,并输入服务器,点击“Next”. 如果忘了添加Windows Sockets选项,可以在文件头部添加下列语句进行补救: #include "Winsock.h" #include "Ws2tcpip.h" #pragma comment(lib,"Ws2_32.lib" ) 注:这些语句支持winsock2。 (4)其余窗口一直默认,点击“Next”直至“Finish”

基于ANDROID的socket聊天室服务器

package com.Server; import java.io.*; import https://www.360docs.net/doc/c410185843.html,.*; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; import javax.swing.JOptionPane; public class Server { ServerSocket ss = null; private String getnameString=null; boolean started = false; List clients = new ArrayList(); public static void main(String[] args) { String inputport = JOptionPane.showInputDialog("请输入服务器所用的端口:"); int port = Integer.parseInt(inputport); new Server().start(port); } public void start(int port) { try { ss = new ServerSocket(port); System.out.println("服务器启动"); started = true; } catch (BindException e) { System.out.println(" 端口已经被占用"); System.exit(0); } catch (IOException e) { e.printStackTrace(); } try { while (started) { Socket s = ss.accept(); Client c = new Client (s); System.out.println("a client is connected"); new Thread(c).start(); clients.add(c); } } catch (IOException e) {

老外喜欢的聊天工具

老外喜欢的聊天工具 世界上最远的距离,不是生与死。而是我找你,却找不到。找到了却不回应。。。沟通是人与人之间的桥梁,是连接人人与人关系的纽带。合理的沟通能促进关系的和谐,同时也是矛盾的润滑剂。因此,实时沟通显得格外重要.作为外贸人员,不要一味的跟客人谈生意,当然目的是这个。私下的问候,关心,沟通也是不可或缺的。很多老外不喜欢来回发邮件,那样速度慢,还得来回查看,因此很多在线的聊天工具就备受欢迎。下面我介绍几款来外喜欢的聊天软件及工具。(1)MSN,这个大家都很熟悉,算是很早的在线聊天工具了,并且有对应的邮箱,也是很方便的,我就不多说了。他在世界的地位,犹如QQ在中国的地位。但是现在MSN被SKYPE绑定了,有些地方必须得绑定SKYPE才能用。 (2)SKYPE.这是一款很潮流也很方便的聊天工具,除了网上聊天外,也可以语音,视频。他最大的功能就是可以绑定你的电话,可以方便你和朋友间的联系。如果你想给远在异国的客人和朋友打电话的话,不妨试试SKYPE。不过你得先到SKYPE官网,购买充值卡哦。 (3)Viber,相比来说这个更是高效快捷,用你的手机注册成功后,装上软件,同步到你的通讯录,跟微信差不多。你就可以跟远在国外的使用同类软件的朋友畅所欲言了,这个不需花费,只需流量,如果有WIFI那就免费了哦。相比而言,这个更加流畅,不收

3G网络或者WIFI的局限,普通流量就可以拥有高音质的服务。(4)Whatsapp,这个软件还是客户告诉我的,当时我在trade manager,问他最近如何,怎么联系不到。他最后说让我装个whatsapp,然后我把他的号码存到我的通讯录,同步一下,就和他对话了,发现真的很多人在用,在我通讯录里使用这个的大部分都是中东南美的,也有部分中国人。 (5)Facebook,脸谱网的登陆如果电脑必须需要翻墙软件的协助,否则无济于事。在上面可以看到客户的动态,有种QQ空间的感觉,很是全面,也可以跟客户连线对话,建立群组等。这真的是一个不错的交友网站哦,你还会看到可能认识的人,客户的朋友你也可以加上。还可以关键词搜索,然后加为好友。 (6)Twitter,和facebook基本差不多,慢慢熟悉就好了。多用用有益无害。 (7)QQ,Wechat.腾讯帝国的软件,现在很多老外也在用了,我的一个外国客户就是我在微信上面认识的,摇一摇,正好摇出来,最后慢慢谈着,客户也是他们本国的进口商,微信摇出来的感情。没事摇一摇,必能摇出大奖。 (8)Google Talk,google集团出的一般软件,就是很不稳定,非常慢。可以试试加好友。

加密解密课程设计

兰州商学院陇桥学院工学系课程设计报告 课程名称: Java 设计题目:加密与解密 系别:工学系 专业 (方向):信息管理与信息系统 年级、班:2012级(2)班 学生姓名:费亚芬 学生学号: 208

指导教师:张鑫 2014年7 月 1日 目录 一、系统开发的背景................................. 错误!未定义书签。 二、系统分析与设计................................. 错误!未定义书签。(一)............................................. 系统功能要求错误!未定义书签。(二)......................................... 系统模块结构设计错误!未定义书签。 三、系统的设计与实现............................... 错误!未定义书签。(一)图形用户界面模块 ........................... 错误!未定义书签。(二)加密操作模块 ............................... 错误!未定义书签。 (三)解密操作模块................................ 错误!未定义书签。(四)文件保存模块 ............................... 错误!未定义书签。

(五)文件选择模块 ............................... 错误!未定义书签。 四、系统测试....................................... 错误!未定义书签。(一)测试加密..................................... 错误!未定义书签。(二)测试选择加密文件............................. 错误!未定义书签。(三)测试生成加密文件............................. 错误!未定义书签。(四)测试浏览加密文件............................. 错误!未定义书签。(五)测试解密文件................................. 错误!未定义书签。 五、总结........................................... 错误!未定义书签。 六、附件(代码、部分图表) ......................... 错误!未定义书签。

盘点世界各大即时聊天工具

ICQ,互联网上最流行的即时信息传递软件。名称来自I seek you (我在找你),它支持在 Internet 上聊天、发送消息和文件等。作为IM软件领域的缔造者,不得不说它成就了一个辉煌。1996年7月成立的Mirabilis公司于同年11月推出了全世界第一款即时通讯软件ICQ(目前ICQ已经归AOL旗下所有),取意为"我在找你"--"I Seek You",简称ICQ。这款软件一经推出,即刻全球响应,凭借着前所未有的创意很快在全世界拥有了大批的用户,即使在当时互联网不太发达的亚洲,市场用户量也占到了70%,在国内更是占到了80%。但是到了现在,根据调查显示,国内如今的IM软件排名中ICQ只排到了第8位,差距竟如此之大。 QQ是深圳市腾讯计算机系统有限公司开发的一款基于Internet 的即时通信(IM)软件。腾讯QQ支持在线聊天、视频电话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功能。并可与移动通讯终端等多种通讯方式相连。1999年2月,腾讯正式推出第一个即时通信软件——“腾讯QQ”,QQ在线用户由1999年的2人到现在已经发展到上亿用户了,在线人数超过一亿。是目前使用最广泛的聊天软件之一。 MSN全称Microsoft Service Network(微软网络服务),是微软公司推出的即时消息软件,可以与亲人、朋友、工作伙伴进行文字聊天、语音对话、视频会议等即时交流,还可以通过此软件来查看联系人是否联机。微软MSN移动互联网服务提供包括手机MSN(即时通讯

Messenger)、必应移动搜索、手机SNS(全球最大Windows Live在线社区)、中文资讯、手机娱乐和手机折扣等创新移动服务,满足了用户在移动互联网时代的沟通、社交、出行、娱乐等诸多需求,在国内拥有大量的用户群。另外,msn还表示“忙啥呢”以及“美少年or 美少女”等的简称。 Google Talk是Google 的即时通讯方式,简称Gtalk。它可以进行文字google talk聊天以及电脑对电脑的语音连接通话。Google 此举进一步激化了它和雅虎,微软以及美国在线之间的竞争。 Google 网站已经推出了即时通讯软件的下载页面提供windows平台下的客户端软件。另外有网上使用的小工具可在各种平台下使用。Google 宣称,该软件“可以让你与朋友随时随地,在世界的任何一个角落自由的通话,发送即时讯息。”Go ogle的即时通讯软件和它的电子邮件服务,Gmail进行了结合。 Gtalk的聊天记录可以自动保存到网上自己的Gmail信箱,可以随时随地的翻阅过去,这也是深受大家喜爱的一个功能。 雅虎通是由全球领先的互联网公司雅虎(Yahoo!)推出的即时聊天工具,是国际主流即时通讯工具之一,美国2007年即时通讯市场占有率排名第一,全球每天有超过5千万人次登录和使用雅虎通它拥有独特的聊天情景(IMViroment);语音聊天室,超级视频等等功能,它能让您与朋友、家人、同事及其他人进行趣味十足的即时交流。

C+++网络聊天室设计报告和源程序

目录 1.需求分析 (2) 2.相关知识............................................... - 3 -2.1W INSOCK介绍 (3) 2.2MFC类CA SYNCSOCKET和CS OCKET (3) 2.3利用CS OCKET进行有连接的通信 (4) 3.详细设计................................... 错误!未定义书签。 3.1客户端的实现 (4) 3.2服务端的实现 (8) 4.程序运行结果.......................................... - 13 -4.1服务器端 .. (13) 4.2客户端 (13) 5.参考文献 ................................................................................................................... 错误!未定义书签。

1.需求分析 当前是数字信息时代,网络时代,任何一种编辑工具都不能忽视在网络上的应用,并且随着Internet 的普及和宽带技术的成熟,越来越多的用户进入网络世界中享用浏览新闻、查询信息、发送邮件、在线观看电影等服务,享受网络带来的便利和办公的高效,与此同时一个新型的Web应用程序为网民之间提供了一个实时通信的功能和场所,这就是聊天室。 在网络早期就开始盛行,不论是BBS,IRC 都有类似网上聊天室的机制。聊天室为网友提供了实时性对话的渠道,是网络上极为流行的一项服务。 聊天室适用于网上会议或闲聊的一些场合。聊天室为网友提供了较好的交友环境,网友之间相互以文字交谈,在形式上有点类似笔友的性质,却大大节省了书信往返的时间,这也是网上交友之所以如此热门的原因。 聊天室的设计目标 本课题是建立聊天通信模型,设计一个聊天室软件,包括服务器端和客户端,主要功能为: 服务器端功能: 1、初始化socket, 创建服务器端。 2、维护一个链表,保存所有用户的IP地址、端口信息。 3、接受用户传送来的聊天信息,然后向链表中的所用用户转发。 4、接受用户传送来的连接判断命令,并向用户发出响应命令。 客户端功能: 客户端界面上的两个文本框,一个用于显示接受的聊天信息,一个用来接受用户输入的聊天信息。当按下“发送”按钮时将信息发送给服务器。 通过本课题的毕业设计,可以比较深入的了解和掌握WINSOCK控件基本属性、方法和事件,理解网络聊天通信的概念,输控制协议(TCP)进行数据交流,初步掌握网络聊天通信程序的设计方法。并能巩固和扩展大学期间的学习内容,进行项目的设计开发训练,更好的适应社会的需求。

基于java socket的聊天室项目文档

北京邮电大学软件学院 2010-2011 学年第 1学期实训项目文档 (每个项目小组一份) 课程名称:全日制研究生实训 项目名称:通信软件实训 项目完成人: 姓名:学号: 姓名:学号: 姓名:学号: 姓名:学号: 姓名:学号: 姓名:学号: 指导教师: 日期:2011年1月21日

基于java socket的聊天室实现 一 . 实训项目目的和要求(说明通过本项目希望达到的目的和要求) 目的:熟练掌握socket编程原理,并用java socket实现聊天室 要求:实现p2p和聊天室功能 二 . 实训项目开发环境(说明本项目需要的环境) 开发工具:Eclipse SDK Version: 3.5.2 和NetBeans 6.9.1 版本 系统:win7 三 . 实训项目内容(说明本项目的内容,如:问题分析、设计方案、算法、设计图等) 1.问题分析 网络编程中两个主要的问题一个是如何准确的定位网络上一台或多台 主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协 议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一 地确定Internet上的一台主机。而TCP层则提供面向应用的可靠(tcp)的 或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要 关心IP层是如何处理数据的。目前较为流行的网络编程模型是客户机/服务 器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。 客户则在需要服务时向服务器提出申请。服务器一般作为守护进程始终运 行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户, 同时自己继续监听服务端口,使后来的客户也能及时得到服务。 两类传输协议:TCP;UDP。TCP是Tranfer Control Protocol的简称, 是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个 顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送或 接收操作。

密码学课程方案AES加密解密文档

个人资料整理仅限学习使用 成都信息工程学院课程设计报告 AES加密解密的实现 课程名称:应用密码算法程序设计 学生姓名: 学生学号: 专业班级: 任课教师: 年月日

个人资料整理仅限学习使用 附件:课程设计成绩评价表

个人资料整理仅限学习使用目录

1.背景 AES,密码学中的高级加密标准

即时聊天工具

一:腾讯QQ 【简介】:腾讯公司成立于1998年的11月12日,次年即1999年2月就推出了仿照ICQ软件的中国版IM工具OICQ,它可以说是QQ的前生。时至今日,腾讯已经成为中国软件行业的巨无霸,QQ的大名更是无人不知,没人不晓,差不多每个网友都拥有一个QQ号。至于说腾讯QQ为什么能取得如此辉煌的成功,应该是一半靠的是实力,另一半靠的是运气。 【特色】:说老实话,腾讯QQ最大的特色也是其最大的优势,应该就是其无比庞大的用户数量。而就它的功能来说,可以说是青出于蓝而胜于蓝,并且已经到达了一个相对的顶峰。其操作简单,支持实时的音视频聊天,支持大文件传输、深入人心的群功能,以及精彩的在线游戏等多种增值功能,让它已经成为了一个时代的标志! 点评】:QQ可以说是中国IT行业的骄傲,它功能强大丰富、操作简单而易用,娱乐性很强,它的身影已经遍布中国的大街小巷。对很多人来说,上QQ、玩QQ已经成为生活的一部分。虽然它有很多收费项目让不少用户一直抱怨,但真的想要离开它却发现又不是那么容易的事情! 二:微软MSN(Windows Live Message) 【简介】:微软公司创建于1975年,是全球最大的电脑

软件提供商,得益于Windows系列操作系统,使其成为全球软件行业的霸主。它的软件产品众多,1999年7月推出了网络即时信息客户程序MSN Messenger。目前MSN(从8.0开始新版本改名为Windows Live Message)可以说是国外IM领域最为流行的IM客户端之一,而在中国它的市场份额也一直处于前列,但却始终无法超越QQ。 【特色】:MSN是一种优秀的即时通信工具,它基于Microsoft 高级技术,可使您和您的家人更有效地利用 Web进行通信。目前MSN Messenger的最新版本是Windows Live Messenger 2009,它仍包含您所喜爱的Messenger 的一切功能:如联系人名单、图释以及使用文本、声音和视频与您的朋友即时联系。此外,它还提供了轻松连接并共享照片和文档的新方式。可惜,Windows Live Messenger中用户无法进行好友查找;【点评】:和QQ不同,MSN的特色之处在于它的严肃和保守性,这使得它更受企业用户所青睐,同时这也使得它的用户群更集中在公司的白领职员中,而这也是MSN的市场占有率始终停步不前无法超越QQ的主要原因。并且它的界面及操作和QQ相比风格差别比较明显。而新版的Windows Live Messenger为了打破这种局面,加入了更多有趣功能,但就娱乐性而言仍然无法和QQ相提并论; 三:百度Hi

聊天系统设计

聊天系统设定大纲 概述 “交互”是网络游戏的核心内容所在,聊天系统则是“交互”在游戏中的最直观表现形式,是游戏中人与人互动的重要手段。一个好的聊天系统设计应该具备以下的几个特点:亲和力:外观设计要与世界观整合,功能设计要贴近玩家的需求; 简便:操作上要简单便捷,达到各层次玩家的应用标准; 全面:功能上要精而全,所设计的各种功能即要令玩家觉得是必有的,也要让玩家觉得是好用的; 系统:要对各种功能做准确的归纳分类,既要减少操作的复杂性,也要避免多数玩家需要的功能没有设计的情况。 实用:预估玩家实际中可能的种种操作,尽量减少因系统原因带来的操作不便和误操作。 结合以往网络游戏的聊天系统,提出几个需要注意的问题: ①过多的系统信息使玩家看不到想要的内容。传统的单对话框式聊天系统经常出现的问题,无法过滤的系统信息导致玩家忽略了真正重要的信息内容。 ②聊天框占用了过多的空间影响玩家欣赏世界。很多玩家抱怨聊天框占用了过的空间影响了游戏的操作,特别在聊天框使用率较低的时候。 ③输入文字需要确定而导致的误操作。是把主键盘区仅用来打字还是与快键混用?多数网络游戏选择了后者,因此打字始末均要用Enter来做确定,而这个设定带来很多不便的误操作,诸如满天飞的属性窗口或危急关头狂按吃药快键结果却只是屏幕上一串无意义的符号。 ④和中文输入法不能有效的整合。很多游戏有或曾经有与中文输入法不能兼容的Bug,这种情况首先要归咎于中文版的操作系统,其后要责怪98\2000\xp诸多的种类……其实最后只能靠设计者来解决。 设计思路 具有亲和力,以简便、全面为设计准绳,以系统性为设计基础,在智能化信息发布即保证玩家可获得最大信息量又不会使玩家错漏重要信息的前提下,尽可能给玩家最大的游戏空间,以求打造实用的网络游戏聊天系统。

基于Socket网络聊天系统的设计与实现

摘要 随着Internet的飞速发展,网络聊天以其操作简单、方便快捷、私密性好等优点已经迅速发展成为最普遍的网络交流方式之一,越来越受到人们的青睐,丰富了人们的网上生活。开发并实现具有自身特色的网络聊天系统具有实际应用价值。 本网络聊天系统基于Java应用程序设计,以Client/Server为开发模式,以Eclipse为开发环境,以MySQL为后台数据库,利用JDBC连接数据库。系统主要包括服务器模块和客户端模块,服务器模块能够对客户端发来的用户信息进行匹配、读取和转发;客户端模块能够进行注册、登录、聊天和文件传输。系统不但实现了点到点的聊天,还利用Java提供的Socket类和多线程功能,在单个程序中同时运行多个不同进程,从而实现多点对多点的聊天。 总之,该聊天系统具有开放性,实时性,多话题交错等特点,方便了人们网上交流。 【关键词】网络聊天服务器模块客户端模块 Socket

ABSTRACT With the rapid development of Internet, network chat with its simple operation, convenient and gond privacy has quickly become the most popular way of communication networks, more and more people like it, enrich people's online lives. Development and Realization of the network chat system with its own characteristics and has practical application value. The Internet chat system is based on Java application, designed by Client / Server as the development of models, as Eclipse development environment, MySQL as the backend database, and using JDBC to connect database. The system includes server modules and client modules, server module can match users'data, read and forward the information which is sent by client; client module to regist, login, chat and file transfer. The system not only achieves peer-to-peer chat, but also use the Java provids Socket class and multi-threading capabilities, in a single program run different processes at the same time, in order to achieve multipoint chat. In short, the chat system is open, real-time and multi-topic staggered features, easy for people to communicate online. 【Key words】Network Chat Client Module Server Module Socket 目录

java文件加密解密课程设计

软件学院 课程设计报告书 课程名称面向对象程序设计 设计题目文本文档的加密与解密 专业班级财升本12-1班 学号 1220970120 姓名王微微 指导教师徐娇月 2013年 1 月

1 设计时间 2013年1月14日-2013年1月18日 2 设计目的 面向对象程序设计是一门实践性很强的计算机专业基础课程。通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。 3 设计任务 对文件进行加密解密 4 设计内容 4.1 需求分析 (1)给定任意一个文本文件,进行加密,生成另一个文件。 (2)对加密后的文件还原。 4.2 总体设计 4.2.1 包的描述 导入了java.awt; java.awt.event; java.io; javax.swing等包。 4.2.2 类的描述 Myframe类;E1类。其中Myframe类继承Frame类;可以扩展Frame的功能并且可以实例化的多种功能,这个类也实现了ActionListener这个接口,它是Java中关于事件处理的一个接口,ActionListener用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的actionPerformed 方法。 4.3 页面设计

图4.3-1 显示页面 代码实现: addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } });

聊天软件需求分析报告

实用文档 编号:__001____________ 版本:____1.0__________ <即时通讯> 需求分析说明书 委托单位:付勇智 承办单位:冰点开发小组 编写:(签名)____李超__________ 2007 年 4 月 11 日 复查:(签名)______聂润声_______ 2007 年 4 月 13 日 批准:(签名)____翁靖凯_________ 2007 年 4 月 13 日

聊天软件需求分析说明书 1.引言 1.1编写目的 本需求规格说明书编写的目的是为了清晰地说明本小组开发《聊天软件》要实现的所有功能。同时也为软件使用者和软件开发者之间建立共同的需求目标,进行一定程度的交流沟通。同时对软件所需实现的功能模块做了全面的描述。它是后续开发工作和验收工作的依据文件。软件使用者和软件开发者以此为共同的基础。 1.2项目背景 随着网络的普及,人类生活越来越依赖网络,人与人之间的交也更多的是在网络上进行,于交流的实时性,即时通讯系统也被越来越多的人所使用。 即时通讯系统除了普通的生活上的交流,也在商业交流中越来越受到重视,它可以是 个很好的与客户之间即时交流的平台,在时间上它要比电子邮件更加具有实时性,而费用相对 电话交流也要经济的多。 在这种环境下,聊天软件作为一种即时通讯工具,得到了很好的发展。 1.3任务描述 1.3.1目标 开发一个即时通讯软件,能够即时发送接受信息,操作简单,能良好的运行。 1.3.2条件与限制 开发时间:三个月 开发环境:J2SE SDK1.5,NetBeans5.5.1,JBuilder2006,MS SQL SERVER 2005 1.3.3 需求 交流者身份的确定,即交流双方需要各自确定允许与对方交流才能交流;交流信息的加密,即不允许他人窃听双方的交流信息;点对点交流(私聊),一次对话的对象只是一个人;同时可以利用本系统形成的P2P(peer to peer,点对点)网络进行用户间的文件传输,进行资源的共享。 2.功能描述

Linux下的Socket网络编程:一个简易聊天室的实现-徐慧军

Linux下的Socket网络编程:一个简易聊天室的实现-徐慧军

高级程序设计与应用实践 报告 一个简易聊天室的实现 姓名:徐慧军 学号:2121134 专业:电子与通信工程 学院:信息科学与技术学院 任课教师:廖晓飞 2013年05月02日

Linux下的Socket网络编程: ——一个简易聊天室的实现一、socket介绍 socket接口是TCP/IP网络的API,socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP 网络编程,必须理解socket接口。 socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix 系统的输入和输出的话,就很容易了解socket了。网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符。socket也具有一个类似于打开文件的函数调用socket(),该函数返回一个整型的socket描述符,随后的连接建立、数据传输等操作都是通过该socket实现的。常用的socket类型有两种:流式socket (SOCK_STREAM)和数据报式socket(SOCK_DGRAM)。流式是一种面向连接的socket,针对于面向连接的TCP服务应用;数据报式socket是一种无连接的socket,对应于无连接的UDP服务应用。 二、Socket创建 socket函数原型为: #include #include int socket(int domain, int type, int protocol); 功能:调用成功,返回socket文件描述符;失败,返回-1,并设置errno 参数说明: domain指明所使用的协议族,通常为PF_INET,表示互联网协议族(TCP/IP 协议族; type参数指定socket的类型: SOCK_STREAM 提供有序、可靠、双向及基于连接的字节流

网络聊天系统的设计与实现

本科生毕业论文(设计) 题目:网络聊天系统的设计与实现学习中心: 层次:专科起点本科 专业: 年级:年春/秋季 学号: 学生: 指导教师: 完成日期:年月日

网络聊天系统的设计与实现 内容摘要 随着互联网技术的飞速发展,网络已经成为人们生活中不可缺少的一部分,通过网上聊天已经成为人与人之间的网络通信的聊天,交流和联系的一种方式。 因此,更多的网站开始提供在线聊天功能。与此同时,以其方便,快捷,成本低的优势,聊天室众多企业的青睐,许多企业网站也加入了聊天室,从而促进消费者与消费者和消费者之间的通信模块。 本文是一个软件工程的在线聊天系统,专注于系统的开发,使用系统的分析,设计和思维测试软件工程知识来实现的描述,其中包括三个主要方面的软件生命周期:软件定义(问题定义,可行性研究,需求分析),软件开发(总体设计,详细设计,编码,测试)和运行维护。通过运用软件工程知识处理实际,加强的问题,清晰,可靠的标准化,使得程序易于维护。该软件使用JAVA编写,具有良好的兼容性,易于实现。操作简单,使用方便结构简单,易于搜索,实用的聊天室。 关键词:网络;通信;套接字 I

网络聊天系统的设计与实现 目录 内容摘要 ............................................................................................. I 引言.. (4) 1 概述 (5) 1.1 课题研究背景和意义 (5) 1.2 本文的主要内容及组织结构 (5) 2 网络应用系统开发技术介绍 (7) 2.1 TCP/IP协议概述 (7) 2.2 客户/服务器模型 (7) 2.3 Socket网络编程 (7) 2.4 开发工具与运行环境 (8) 2.5 其他技术 (8) 3 网络聊天系统的分析与设计 (10) 3.1 可行性分析 (10) 3.2 需求分析 (10) 3.3 系统总体设计 (11) 3.3.1 系统架构模型 (12) 3.3.2功能模块设计 (12) 3.3.3系统通信设计 (12) 3.3.4数据库设计 (13) 4 网络聊天系统详细设计及实现 (14) 4.1 服务器端设计与实现 (14) 4.1.1 服务器等待连接进程/线程设计 (15) 4.1.2 服务器处理客户端信息进程/线程设计 (16) 4.2 客户端设计与实现 (16) 4.2.1 登陆模块 (16) 4.2.2 主界面模块 (16) 4.2.3 私聊模块 (19) 4.2.4 聊天记录管理模块 (21) II

基于Socket的聊天室(C#版)

一、服务器/客户端聊天室模型 聊天室客户端(商用PC) 服务器 聊天室客户端 (其他) 聊天室客户端(笔记 本) 其他服务器 1.首先启动聊天室服务器,使得TcpListener开始监听端口,此时TcpListener 会进入Pending状态,等待客户端连接; 2.其次,当有客户端连接后,通过AccepSocket返回与客户端连接的Socket对象,然后通过读写Socket对象完成与聊天室客户端的数据传输。聊天室客户端成功启动后,首先创建一个Socket对象,然后通过这个Socket对象连接聊天室服务器,连接成功后开通Socket完成数据的接收和发送处理。 二、系统功能设计 本设计为一个简单的聊天室工具,设计基本的聊天功能,如聊天、列表维护等。系统主要为两大块:聊天室服务器及聊天室客户端。 服务器界面设计如下:

客户端界面设计如下:

三、聊天协议的应答 A—网络—B 主机与主机通信主要识别身份(标识设备用IP)及通信协议 网络应用程序——端口号——接收数据 注:1.IP地址是总机,端口号是分机(传输层) 2.端口号为16位二进制数,范围0到65535,但实际编程只能用1024以上 端口号 Socket编程 首先,我们了解常用网络编程协议。我们用得最多的协议是UDP和TCP,UDP是 不可靠传输服务,TCP是可靠传输服务。UDP就像点对点的数据传输一样,发送 者把数据打包,包上有收信者的地址和其他必要信息,至于收信者能不能收到,UDP协议并不保证。而TCP协议就像(实际他们是一个层次的网络协议)是建立在 UDP的基础上,加入了校验和重传等复杂的机制来保证数据可靠的传达到收信 者。一个是面向连接一个无连接,各有用处,在一些数据传输率高的场合如视频 会议倾向于UDP,而对一些数据安全要求高的地方如下载文件就倾向于TCP。 Socket————网络应用程序 电话机————访问通信协议 聊天协议的应答: 聊天状态:CLOSED和CONNECTED状态 执行CONN命令后进入CONNECTED状态,执行下列命令: CONN:连接聊天室服务器

相关文档
最新文档