• 20182213 实验三《Python程序设计》


    20182213 2019-2020-2 《Python程序设计》实验三报告

    课程:《Python程序设计》
    班级: 1822
    姓名: mellivora
    学号:20182213
    实验教师:王志强
    实验日期:2020年5月17日
    必修/选修: 公选课

    1.实验内容

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

    2. 实验过程及结果

    进行该实验时首先尝试的是方法是移位加密算法,但是后续考虑到这种加密算法过于简单容易被破解,所以最后采取的是RSA加密算法,安全性高,可操作性强,于是我们调用了python里的rsa模块用来进行加解密实验代码如下:

    服务器代码

    客户端代码

    运行结果如下

    客户端运行结果

    服务器运行结果

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

    • 问题1:如何让服务器如何拥有客户端产生的用来解密信息的私钥。
    • 问题1解决方案:首先将私钥保存在文件中,然后将存有私钥的文件放置在服务器可以打开的文件夹内,再服务器需要解密信息是取出即可
    • 问题2:运行过程中经常出现读取文件失败的提示显示没有文件
    • 问题2解决方案:在输入文件名时,需要加入文件格式后缀

    其他(感悟、思考等)

    加解密算法灵活多样,同时有些时候版本不同,兼容性也不同,需要在之后的学习过程中不断摸索,经过本次实验对于网络编程以及利用TCP传递信息,都有了更深的了解和认识,也方便了我更好的了解了计算机网络,并进行学习,在解决问题的过程中发现自己对网络编程的全过程不了解,导致理解出现偏差,只是照葫芦画瓢,并没有自己的想法和思路,于是利用网络课程重新对socket进行了学习从而有了更深的认识和理解,同时也更为理解了rsa算法的全过程,完成了本次实验,也有助于我日后密码学的学习。

    参考资料

    《python可以这样学》

    《Python编程:从入门到实践》

  • 相关阅读:
    tips
    数学建模-预测模型优缺(搬运)
    数学建模-灰色预测模型GM(1,1)_MATLAB
    Floyd算法_MATLAB
    第二章 运算方法与运算器(浮点数的加减法,IEEE754标准32/64浮点规格化数)
    面向对象
    for循环
    if---else
    airflow的web任务管理
    airflow原理
  • 原文地址:https://www.cnblogs.com/Mellivorac/p/12940418.html
Copyright © 2020-2023  润新知