20202411 2020-2021-2 《Python程序设计》实验三报告


课程:《Python程序设计》

班级: 2024

姓名: 陈书桓

学号:20202411

实验教师:王志强

实验日期:2021年5月24日

必修/选修: 公选课


1.实验内容

1.创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。

2.实验过程及结果

首先也是基于王老师发的.py文件,基于TCPsocket文件的基础进行编写。创建了两个文件,分别为Socket_host和Socket_guest,好吧,虽然应该叫server,但是能用就行。
接下来是信息的读写和加密,不采用RSA库,而采用base64库进行加密和解密,来保证信息的安全性。
除了公钥,我决定设置路径,让系统查找我所想要发送的任何文件,提高了效率,同时,使功能多样化。
最后把代码push到码云。


3.实验中遇到的问题和解决过程

Q1:RSA加密与解密
A1:这次的实验,不仅有通过端口的文件传输,还有进行RSA的加密和解密。对于文件的传输,demo上也是比较详细的了,再去csdn上逛逛,找了些东西加进去。头疼的是RSA加密,因为我在编写实验四的时候,就有考虑过对一些隐私信息进行加密来保护用户的信息安全,之前是找到了RSA库,但是在保存和读取时一直出现错误,原因是类型不匹配。之后在查找了相关信息,参考了学长们的想法,发现他们很多人都不是采用RSA库,而是采用base64库。并且在读写信息时,采用了编码解码以及str和bytes类型的转化。所以这样信息读写和加密的问题就解决了。
Q2:编码问题
A2:

UTF-8

UTF-8

UTF-8


4.其他

这次的实验不仅仅是对python的熟悉,也是对计算机端口,加密解密知识的熟悉,下次试试能不能用国密算法对信息进行加密解密。

5.参考资料

RSA

Base64

20202411 2020-2021-2 《Python程序设计》实验三报告的更多相关文章

  1. Python程序设计实验报告三:分支结构程序设计

    安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  姚彩琴  学号3190505129 成绩 日期     2020.4.5     指导老师       修宇 [实验目的 ...

  2. 20192113 2020-2021-2 《Python程序设计》实验三报告

    20192113 2020-2021-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1921 姓名: 衣丽莎 学号:20192113 实验教师 ...

  3. 20192204李龙威 2019-2020-2 《Python程序设计》实验三报告

    20192204李龙威 2019-2020-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1922 姓名: 李龙威 学号:20192204 实 ...

  4. Python程序设计实验报告二:顺序结构程序设计(验证性实验)

      安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  崔攀  学号3190505136 成绩 日期     2020.3.22     指导老师       修宇 [实验 ...

  5. Python程序设计实验报告一:熟悉IDLE和在线编程平台

    安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  崔攀  学号3190505136 成绩_____           日期     2020.3.8     指导老师  ...

  6. Python程序设计实验报告四:循环结构程序设计(设计型实验)

    安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  姚彩琴  学号3190505129 成绩 日期     2020.4.8     指导老师       修宇 [实验名称 ...

  7. PYTHON程序设计实验

    Python程序设计实验报告一: 熟悉IDLE和在线编程平台 安徽工程大学 Python程序设计实验报告 班级 物流191 姓名 邹缕学号 3190505117成绩 ▁▁▁ 日期 2020.3.5 指 ...

  8. Python程序设计 实验 1 熟悉 IDLE 和在线编程平台

    ------------恢复内容开始------------ 安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  姚彩琴  学号3190505129 成绩 日期     2 ...

  9. 20172310 2017-2018-2 《程序设计与数据结构》实验三报告(敏捷开发与XP实践)

    20172310 2017-2018-2 <程序设计与数据结构>实验三报告(敏捷开发与XP实践) 课程:<程序设计与数据结构> 班级: 1723 姓名: 仇夏 学号:20172 ...

  10. 20172301 《Java软件结构与数据结构》实验三报告

    20172301 <Java软件结构与数据结构>实验三报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 郭恺 学号:20172301 实验教师:王志强老师 ...

随机推荐

  1. 微信小程序隐私指引完整填写范本(开发者收集你选中的照片或视频信息,用于?)

    为了分辨用户,开发者将在获取你的明示同意后,收集你的微信昵称.头像.为了显示距离,开发者将在获取你的明示同意后,收集你的位置信息.开发者收集你的地址,用于获取位置信息.开发者收集你的发票信息,用于维护 ...

  2. 为什么 .NET应用推荐使用 await、async异步编程?

    前言 1.什么是async/await? await和async是.NET Framework 4.5框架.C#5.0语法里面出现的技术,目的是用于简化异步编程模型. 2.async和await的关系 ...

  3. 使用 WSDL 指定的标准 SOAP 消息格式

    为 XML 文档(定义 Web 服务)定义架构的行业标准 Web 服务描述语言 (WSDL) 提供了两个主要的 SOAP 格式设置选项.这两个选项均在 XML 元素中指定,而不在主 WSDL 命名空间 ...

  4. Spring 的XML配置文件中提示的配置

    1.看图:2.关于web.xml配置文件提示(1)下载(保存)http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd文件.(2)在eclipse中 Window ...

  5. 如何用premiere添加配乐?pr视频添加音乐

    在pr中,怎么给视频添加音乐? 给视频添加音乐,有两种情况:1是视频音乐已存在:2是视频没有音乐,只是单纯的视频. 1.从酷狗音乐里下载一首音乐到桌面. 2.将音乐文件直接拖动到音频轨道里,把素材面板 ...

  6. echarts柱状图快速上手笔记地址

    https://blog.csdn.net/qq_40323256/article/details/114890628 借鉴借鉴

  7. C#消息泵探索(一)

    ​消息泵 消息泵,又叫消息循环. 消息循环使用一个图形化用户界面下Microsoft Windows.具有GUI的Windows 程序是由事件驱动的.Windows为每个创建窗口的线程维护一个单独的消 ...

  8. 深入理解 epoll 原理

    从网卡如何接收数据说起 CPU 如何知道接受了数据? 进程阻塞为什么不占用 CPU 资源? 工作队列 等待队列 唤醒进程 内核接收网络数据全过程 同时监视多个 socket 的方法 select 的监 ...

  9. 初识Node

    Node的定义:一个搭建在Chrome JavaScript运行时上的平台,用于构建高速.可伸缩的网络程序.   Node构建与JS之上,在服务器端,Node使用V8虚拟机,执行的是本地机器码,省去了 ...

  10. STM32F0使用LL库实现UART接收

    初始化: 1 void MX_USART1_UART_Init(void) 2 { 3 4 /* USER CODE BEGIN USART1_Init 0 */ 5 6 /* USER CODE E ...