安全技术课程设计基于python的安全即时通讯系统.zip

上传者: 55305220 | 上传时间: 2023-06-01 13:40:46 | 文件大小: 759KB | 文件类型: ZIP
安全技术课程设计基于python的安全即时通讯系统。功能需求 聊天客户端 注册:用户与集中服务器通信完成注册,包括用户名、密码、邮箱、性别、年龄、数字证书等信息传输,其中数字证书包含公钥、用户名、邮箱等信息。私钥单独保存在客户端一个文件夹下不进行传输;能显示用户名、邮箱不符合格式规范或者重复,空输入等错误信息。 认证登录:客户端与集中服务器通信完成用户名、口令认证登录;能显示用户名、密码错误导致的登录错误信息。还有已登录账号再次登录时的多重登录检验,并将之前登陆的账号顶下去。 好友管理:用户可通过服务器进行搜索、添加、删除好友。 即时通信:用户通过客户端实现与好友的聊天,包括文字、图片传输。文字可实现字体颜色和大小的改变。 聊天记录:客户端能够保存聊天记录并且可以查看聊天记录。 消息加解密:采用D-H体制协商加密秘钥,用对称密码AES算法进行加解密。 消息摘要:使用MD5算法实现消息摘要认证功能,确保发送消息的完整性。 用户未读消息提醒:红点标注未读消息数目,并按最后发送消息时间排列好友列表。 用户离线后消息处理:用户上线后及时接收到离线时好友发送的消息。

文件下载

资源详情

[{"title":"( 53 个子文件 759KB ) 安全技术课程设计基于python的安全即时通讯系统.zip","children":[{"title":"safechat-master","children":[{"title":"client","children":[{"title":"forms","children":[{"title":"images","children":[{"title":"login_bg.gif <span style='color:#111;'> 156.39KB </span>","children":null,"spread":false},{"title":"contacts_bg.gif <span style='color:#111;'> 115.22KB </span>","children":null,"spread":false},{"title":"VerticalScrolled.png <span style='color:#111;'> 123.70KB </span>","children":null,"spread":false},{"title":"contacts_bg.png <span style='color:#111;'> 200.27KB </span>","children":null,"spread":false},{"title":"register_bg.gif <span style='color:#111;'> 100.84KB </span>","children":null,"spread":false}],"spread":true},{"title":"register_form.py <span style='color:#111;'> 9.12KB </span>","children":null,"spread":false},{"title":"contacts_form.py <span style='color:#111;'> 10.61KB </span>","children":null,"spread":false},{"title":"login_form.py <span style='color:#111;'> 4.54KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 44B </span>","children":null,"spread":false},{"title":"chat_form.py <span style='color:#111;'> 11.16KB </span>","children":null,"spread":false}],"spread":true},{"title":"memory","children":[{"title":"__init__.py <span style='color:#111;'> 603B </span>","children":null,"spread":false}],"spread":true},{"title":"__init__.py <span style='color:#111;'> 886B </span>","children":null,"spread":false},{"title":"components","children":[{"title":"contact_item.py <span style='color:#111;'> 2.47KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 46B </span>","children":null,"spread":false},{"title":"vertical_scrolled_frame.py <span style='color:#111;'> 2.16KB </span>","children":null,"spread":false}],"spread":true},{"title":"util","children":[{"title":"socket_listener","children":[{"title":"__init__.py <span style='color:#111;'> 5.05KB </span>","children":null,"spread":false}],"spread":true},{"title":"__init__.py <span style='color:#111;'> 44B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"server","children":[{"title":"event_handler","children":[{"title":"register.py <span style='color:#111;'> 1.41KB </span>","children":null,"spread":false},{"title":"add_friend.py <span style='color:#111;'> 1.92KB </span>","children":null,"spread":false},{"title":"bad.py <span style='color:#111;'> 332B </span>","children":null,"spread":false},{"title":"send_message.py <span style='color:#111;'> 2.77KB </span>","children":null,"spread":false},{"title":"del_friend.py <span style='color:#111;'> 1.84KB </span>","children":null,"spread":false},{"title":"create_room.py <span style='color:#111;'> 720B </span>","children":null,"spread":false},{"title":"query_room_users.py <span style='color:#111;'> 791B </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 1.41KB </span>","children":null,"spread":false},{"title":"login.py <span style='color:#111;'> 2.37KB </span>","children":null,"spread":false},{"title":"resolve_friend_request.py <span style='color:#111;'> 1.46KB </span>","children":null,"spread":false},{"title":"client_echo.py <span style='color:#111;'> 385B </span>","children":null,"spread":false},{"title":"join_room.py <span style='color:#111;'> 896B </span>","children":null,"spread":false}],"spread":false},{"title":"memory","children":[{"title":"__init__.py <span style='color:#111;'> 697B </span>","children":null,"spread":false}],"spread":true},{"title":"__init__.py <span style='color:#111;'> 4.52KB </span>","children":null,"spread":false},{"title":"broadcast","children":[{"title":"__init__.py <span style='color:#111;'> 242B </span>","children":null,"spread":false}],"spread":true},{"title":"database.db <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"main.sql <span style='color:#111;'> 1.40KB </span>","children":null,"spread":false},{"title":"util","children":[{"title":"database","children":[{"title":"__init__.py <span style='color:#111;'> 4.02KB </span>","children":null,"spread":false}],"spread":true},{"title":"__init__.py <span style='color:#111;'> 156B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"run_server.py <span style='color:#111;'> 72B </span>","children":null,"spread":false},{"title":"LICENSE <span style='color:#111;'> 7.63KB </span>","children":null,"spread":false},{"title":"run_client.py <span style='color:#111;'> 72B </span>","children":null,"spread":false},{"title":"common","children":[{"title":"transmission","children":[{"title":"secure_channel.py <span style='color:#111;'> 4.88KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 44B </span>","children":null,"spread":false}],"spread":true},{"title":"global_vars.py <span style='color:#111;'> 111B </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 44B </span>","children":null,"spread":false},{"title":"message","children":[{"title":"__init__.py <span style='color:#111;'> 6.63KB </span>","children":null,"spread":false}],"spread":true},{"title":"config.py <span style='color:#111;'> 231B </span>","children":null,"spread":false},{"title":"util","children":[{"title":"__init__.py <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false},{"title":"socket_linstener","children":[{"title":"__init__.py <span style='color:#111;'> 5.01KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"cryptography","children":[{"title":"prime.py <span style='color:#111;'> 639B </span>","children":null,"spread":false},{"title":"crypt.py <span style='color:#111;'> 1.02KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 44B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"requirements.txt <span style='color:#111;'> 210B </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 49.56KB </span>","children":null,"spread":false},{"title":"config.json <span style='color:#111;'> 508B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明