Python实现Socket通信数据RSA_AES混合加密
续上篇文章Python实现Socket通信样例,本篇文章对上篇文章中的通信的数据做一个混合加密来保证通信数据在通信过程中的安全.
采用的客户端与服务端数据加密传输方案为RSA+AES混合加密实现.方案思路参考
数据加密方案首先,客户端与服务端商量好数据加密协议,对传输数据做到安全保护。
安全保护至少需要有下面两点:
采用HTTPS协议
采用公钥密码体制RSA算法对数据加密
性能问题RSA加密虽然安全性上相对较高,但是由于RSA算法对数据加密时运算速度慢,所以直接把所有传输数 ...
Python生成RSA公钥public.pem私钥private.pem
利用Crypto模块实现
python3需要安装pycryptodomepip install pycryptodome
注意: windows环境下可能会有找不到Crypto的情况,这里有个小BUG,windows环境下安装完pycryptodome后在你python的根目录下如:Python\Python36\Lib\site-packages里面有一个文件夹叫做crypto,将首字母小写c改成大写C即可解决.
生成代码:
123456789101112131415161 ...
Python实现socket通信样例
最近看了其他的一些python实现的socket通信的相关样例或demo代码,一直想找一个较为不错的样例作为编写socket通信的一个样板,固定下编写风格,但是苦于找到的相关样例都是非常简易的一个demo,甚至针对于超过buf_size需要多次recv数据然后进行数据拼接都没有做。这样就导致demo在演示传输较大数据或者是传输文件二进制流,或是其他编码流的方面产生无法解析或无法解码的情况出现。或是在聊天场景下发送超过buf_size的信息会出现收取断层的情况。基于以上问题,设计了这么一个实现思路 ...
Python的Socket函数中send和sendall的区别如何使用
socket.send()
将数据发送到套接字。套接字必须连接到远程套接字。可选标志参数与recv()具有相同的含义。返回发送的字节数。并且需要应用程序(自己写的代码)自己负责检查所有数据是否已发送,如果只发送了一些数据,则应用程序(自己写的代码)自己需要尝试发送剩余数据。(说白了就是发数据需要自己检查发送情况,如果没发完,需要自己写代码进行重发。通常适用于发送数据大小超过buf缓冲区的情况,小于buf的情况一般采用send和sendall效果相同)
socket.sendall() ...
Python实现计算文件hash(md5)功能
Python实现计算文件hash代码Python实现计算文件md5样例最近有个小需求是计算整个文件的md5值,之前有收藏过一个小工具可以便捷实现md5/hash的计算,但是找不到了,自己实现起来也不太难,不想花费在这里太多时间,于是网上找到了个现成的代码样例,写的挺好,刚好能满足现在的需求。在此转载记录一下。
代码实现:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464 ...
Python多进程之间共享类对象
最近有需求为python下多进程共享同一个变量,并且变量不仅仅是只进行读取,还要进行修改,修改后需要保证其他进程里面能读取到修改后的值。变量是一个类对象,普通的共享方式可以实现固定值或数据的共享,在共享类对象的时候出现了点问题。查阅资料后解决方式及思路如下。
思路:通过manager.register进行注册类注册完后,对各个进程传入类的实例详细过程见演示代码注释
演示代码:
123456789101112131415161718192021222324252627282930313 ...
Python3简易实现web文件上传功能
python3实现web文件上传功能的小demo基于flask实现效果图:
实现代码:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import osimport uuidimport platformfrom flask import Flask, request, redirect, url_forfrom werkzeug.utils impo ...
Linux系统date命令用法小记
date命令自带帮助文档翻译如下此处进行简要记录,便于查阅。
用法:date [选项]... [+格式]
或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.
Mandatory arguments to long options are mandatory for short options too ...
Shell脚本和文件相关的判断符
Shell脚本中和文件相关的判断符参数除去-e参数判断是否存在外,其他参数为文件或目录存在的情况下进行属性的判断。
-b 判断是否是块设备文件,如果是返回 true-c 判断是否是字符设备文件,如果是返回 true-d 判断是否是目录,如果是返回 true-f 判断是否是普通文件(既不是目录,也不是设备文件),如果是返回 true-g 判断是否设置了 SGID 位,如果是返回 true-k 判断是否设置了粘着位(Sticky Bit),如果是返回 true-p 判断是否是有名管道,如果是返 ...
Shell常用功能实现
Linux Shell常用小功能汇总实现
Shell实现while循环
Shell判断文件或文件夹是否存在
Shell判断一个变量或输入参数是否为空
Shell中等待一定时间或等待进程结束实现
Shell脚本实现并行处理数据
Shell脚本获取某个目录下(除去指定文件)的所有文件
Shell脚本连接(拼接/合并)字符串
Shell获取时间戳
后续ing…
更多请评论区留言(建议用GitHub的留言系统),可提供样例代码,或告诉需求,该文章不断汇总整合。
具体实现 ...