zoukankan      html  css  js  c++  java
  • 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编程:从入门到实践》

  • 相关阅读:
    Git 版本更新(Windows下)
    Qt Quick 构建 Android app
    Android Studio更新到3.6.0 Gradle报错No cached version of com.android.tools.build:aapt2:3.2.0-alpha16-4748712 available for of...
    在自定义类中使用setMouseCallBack
    关于Qt 状态机
    C++ 新特性 移动构造函数和移动赋值
    关于Qt MetaObject connectSlotsByName
    Prototype 设计模式在框架中的应用
    关于设计模式
    如何提高Qt工程的编译速度
  • 原文地址:https://www.cnblogs.com/Mellivorac/p/12940418.html
Copyright © 2011-2022 走看看