加密聊天软件(功能文档)
注:本应用程序由团队完成,涉及专业技术知识,恕不公开源码,如果有需要源码学习的网友,请留言与我联系。
一、 使用步骤:
1、 服务器端开启(功能在最后介绍):运行程序程序ChatClient.exe;此时服务器端自动开启
说明:“信息”一栏中将显示用户聊天的一些信息,选择“管理”一栏,将会显示目前服务器上的所有用户信息,并且添加了更改端口、添加用户信息、删除用户、修改用户、查询等功能。如图:
2、 客户端登陆:运行程序ChatServer.exe,打开客户端登陆的窗口:
此时点击“用户登陆”按钮即可弹出登陆窗口如图:
这里既可以输入服务器的ip地址跟服务端口,输入用户的id与密码即可成功登陆。用户登陆之后实现了添加用户、用户查找、用户注册、删除好友等功能。
添加好友
客户端菜单栏点击“添加好友”,出现在服务器查找好友对话框,可以根据用户ID查找或者根据用户名查找
查找成功返回信息:
用户选择是否添加为自己好友以方便聊天。
限制同一ID在不同IP登录
当同一个ID同时在两个IP登录时,服务器会向先登录的用户发送异常登录消息,
选择重新登录,自己又重新上线。
修改自身信息:
注册用户:
二、 聊天及文件传输实例演示:
我们假定服务器端的用户信息如图2,在用户10000(用户名为zhangsan)通过登陆界面登陆后如图左,另外一名用户12345(用户名为dingyong)登陆路后如图右
当zhangsan开始与dingyong聊天时,双击dingyong(或者“操作”->发送文本)可打开聊天窗口,在聊天时实现了以下功能:
1、 普通信息的发送、接收
2、 加密信息的发送、接收、解密
3、 普通文件的发送、接收
4、 加密文件的发送、接收、解密
对于要求的多行文本的发送该程序当中使用“Ctrl+Enter”实现换行。文件加密是选择文本,解密时选择相应的*.key文件。
选择好加密各个层次的编码方式,使用“Ctrl+Enter”实现换行,“发送”按钮即可将信息以加密的形式发送出去。实例“I love computer !”:
如果发送方发送的字符串如下:
接收方与发送方的窗口布局相同,接收方未点击解密“设置”时:(发送方未加密)(发送方加密过后)注:这里未完全显示,实际运行时可以拖动查看
如果对方想对信息进行解密,点击“设置”按钮:
设置好解密方法后即可将发送方的加密密文以自己的解密方法解密出来。假如我们按照上面的加密方式解密,最终接收的字符串将会变为(大写变小写)i love computer !
调试输出的使用:
发送处输入内容后选择好自己想输出的加密方式,点击“测试”按钮即可跳出调试结果,如下:
离线信息的发送:
给对方发送离线信息后,如果对方不在线,对方上线后:将会提示:
选择“是”,将会跳出聊天信息:
以下是对文件发送接收的介绍:
1)普通文件的发送接收(这里实现了2M以下文件的离线发送,对应2M以上的文件实行在线用户之间发送):
离线文件发送后暂存在服务器端,当好友上线后会自动提示其是否接收:
如果选择接收,则会跳出服务器暂存文件列表:
选择要接收的文件,点击对话框下方的接收按钮,然后选择保存位置保存即可。
支持对自己发送文件及发送大型文件、多个文件同时发送:
文件的发送支持大型文件的发送,为了查看进度效果,这里对自己发送大型文件进行测试(给对方发送同样的效果):
发送方选择发送文件后,接收方首先接收到文件提示:
选择“接收”后将会显示接收的进度(这里发送接收为同一用户,故在一起):
2)加密文件的发送接收与解密
当然这里限定加密之前必须为txt文档,点击“文件加密”按钮,选择要加密发送的文件,确定后提示输入加密的方式:
加密完成后文件会添加.key后缀,然后自动发送给对方。
对方接收到文件后如果想解密,点击“文件解密”按钮,输入自己想解密的算法代号,程序会自动解密,然后保存解密后的文件:
实例说明:
假如要发送的加密文件为以下文件:
选择加密的方式为:edcba即:倒序-栅栏-键盘-手机-摩尔,加密后的文件内容:
接收端解密的文件如同发送端的文件。
注意:由于文件解密时存在算法的传入字符串的合法性问题,这里这样处理:对于摩尔解密判断是否全是0和1,如果不是提示“解密错误”,然后退出。对于手机解密,判断是否字符串中含有除数字和非字母的特殊字符以外的字符并且不全是0和1,如果符合则解密,否则不解密,提示“解密错误”。
对非法字符的处理
这里假如发送的的文件内容为:
这里定义第一行为0行,每行第一个字符为0号字符。
三、 服务器端的功能:
信息记录:
服务器端的“信息栏”当中会记录聊天的所有信息:
显示用户登录ip:
端口更改设置:
相应的客户端会给出提醒:
离线文件和离线信息发送记录,当用户接受后会自动清除:
对暂存信息也添加了查找删除的功能:
点击“查询”,输入查询的用户:
删除单个、删除全部将删除相应项。
离线文件在服务器端的暂存(小于2M):
四、注意事项:
1、运行时请首先运行服务器端,客户端方可登陆
2、服务器与客户端请在不同电脑上登录
3、编码限制在源码中已做限制了
4、单步调试请使用聊天窗口中的“第一层”设置好后,点击“调试”按钮即可输出调试结果。
说明:本文档仅供学习使用,如果设计中存在技术问题,欢迎高手指点,不胜感激!转载需注明,谢谢合作!
加密聊天软件(功能文档)相关推荐
- 手机加密聊天软件功能文档(基于android系统)
注:软件系本人编写,涉及专业技术知识,恕不公开源码,如有需要源码学习的网友,请留言与我联系. 一.使用说明 开发程序包含两个主要部分,客户端(ChatClient)和服务器(ChatServer),一 ...
- 局域网聊天软件 设计文档怎么写?
局域网聊天软件 设计文档怎么写?这种针对数据库记录的 局域网聊天软件 窃取,被一些攻击者称为拖库,于是有了一个自然而谐音的戏称脱裤.只是攻击者日趋不厚道,从前只是偷了人家的裤子,现在还要晾在大街上,并 ...
- go文件服务器加密,gosignal: 使用 Golang 实现的端对端加密聊天软件 Signal 服务端...
gosignal 本项目是端对端加密聊天软件 Signal 服务端 Signal-Server 使用 Golang 语言的实现,完全兼容 Signal 客户端现有协议,并且保持同步更新.相较于 Jav ...
- 手机加密聊天软件的实现(基于android系统)
一.软件描述 当今社会,信息技术的发展日新月异,各自领域对自己的科研成果保密也就成了一项重大的事情.基于远程信息交流并且保密的需求,本应用程序实现了加密聊天的功能,在发送端对用户输入的信息加密,网络传 ...
- 敏捷开发:软件与文档
也曾尝试过,不带文档的"裸体"前进,可想而知,最后经常造成项目的返工,新来的人员要拼命读以前的人留下的几乎没有注释的源码. 后来尝试过,制订完善的规范,用了大量的软件 ...
- 软件需求分析文档模版
软件需求分析文档模版(转载自国家计算机标准和文件模板) 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素.需求分析是软件定义阶段中的最后一步,是 ...
- 软件项目文档_什么是软件项目的好的文档?
软件项目文档 开放地理空间(OSGeo)基金会最近参加了Google的第一个文档季节 ,其中Google赞助了高级技术作家为开源项目做出贡献. OSGeo是大约50个地理空间开源项目的总括组织. 多年 ...
- rockycapture_RockyCapture航线规划软件介绍文档
马上注册,享用更多功能,让我们一起,飞遍世界! 您需要 登录 才可以下载或查看,没有帐号?抢先注册 x RockyCapture 航线规划 RockyCapture 航线设计规划是基于大疆无人机,由珞 ...
- 软件概要设计文档(终)
软件概要设计文档 1.引言 1.1目的 该文档的目的是描述辅助选课系统的概要设计,主要内容包括系统功能简介.系统结构设计.系统结构设计.系统接口设计.模块设计和界面设计等. 本文档预期的读者包括设计人 ...
- 最简单的P2P加密聊天软件开发准备
今天准备写个最简单的加密聊天软件练练手.核心的就三样东西: P2P通信 密钥交换 加密解密消息 暂时不支持图片等复杂的聊天功能,只支持字符聊天. 下面是我做的两个功能测试代码: 1. AES-128位 ...
最新文章
- 17.8.17第八次测试
- Xamarin Essentials教程屏幕状态DeviceDisplay
- HDU OJ Super Jumping! Jumping! Jumping!
- HDU - 6704 K-th occurrence (后缀数组+主席树)
- 电信运营商x86服务器定制策略
- 被虐惨!还热乎的腾讯后端一面面经分享!
- php 调用父类变量,PHP-通过实例化父类访问常量
- 电力系统服务器故障预案,电网预案推演系统及电网预案推演方法
- Java使用POI导出excel(下)——实例与小技巧
- PXE网刻教程 教如何制作自己的DOS网卡驱动
- templates模板文件
- 物联网应用三个阶段,你在哪里?
- 通过Cerebro访问Elasticsearch
- 魔兽重置版改键+喊话
- java开发中常用插件三----blockui
- AIX环境:su 到实例用户下连库并执行Db2命令方法
- 《灵飞经5·龙生九子》第二十四章 九王朝阙 上
- 性能检测工具:Matrix-TraceCanary 入门
- DataSophon——国产开源一站式运维平台
- PMP官方教材(PMBOK第五版中文电子版)