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

最新文章

  1. Multiply Strings
  2. UWP学习记录4-设计和UI之控件和模式1
  3. IIS发布站点错误收集(持续更新)
  4. Java中Sting类型对象内容不可改变
  5. java后端书籍推荐
  6. 利用Android的UXSS漏洞完成一次XSS攻击
  7. Cadence学习之——多部分元件原理图封装的画法
  8. C用函数指针模拟重载 C++重载
  9. DICOM:DICOM标准学习路线图(初稿)
  10. SQL语句执行顺寻
  11. mysql服务的启动和停止 net stop mysql net start mysql
  12. C#&JQuery非缓存式无刷新临时存储数据之仿购物车功能
  13. EPPlus与Excel完美的结合
  14. html中的banner自适应屏幕代码
  15. 解决Manjaro Linux无法安装搜狗拼音
  16. OpenNI1.5获取华硕XtionProLive深度图和彩色图并用OpenCV显示
  17. 联想RD450带Read10服务器操作系统密码忘记
  18. 10 Free Image Hosting Sites for Your Photos
  19. Python中的字符串方法
  20. P4292 [WC2010]重建计划

热门文章

  1. git修改历史提交的备注信息
  2. SQL正则查询--查询有效邮箱
  3. ORA-28001 口令已经失效(密码过期)相关问题处理
  4. List集合拆分为多个List
  5. 关于SQLsever2012报错的一些经验总结
  6. 打印timescale信息
  7. gitee下载项目
  8. 【文献阅读】An efficient motion planning based on grid map: Predicted Trajectory Approach with global path guiding
  9. 多线程事务回滚sqlSession, spring-mybatis 开启事务
  10. 5-6:实现多窗口之异常(AttributeError: 'list' object has no attribute 'click')