Git常用命令及使用方式
常用命令
git remote -v 查看有的远程分支
git remote add upstream https://xxx.com/xxxx/xxxx.git 添加上游分支
git remote rm upstream 删除upstream
git branch -a 查看所有分支
git pull upstream master 拉取上游分支
ssh-keygen -t rsa -C “你的账户邮箱” 生成公钥
git branch 查看当前所处分支 (切 ...
基于协程的异步任务实现
文章名字起的是基于协程的异步任务实现,可能不是特别准确,不过直观像表达的意思就是这样的。应用场景:对于高io场景,通常会使用进程或线程来实现异步的操作,但是进程和线程的调度过程也会浪费很多资源,由此协程更能高效的利用系统的资源。除此之外第三方模块为了提高cpu利用率和性能有已经编写好的async函数时,我们也可直接利用。
实现的一个简单封装,demo代码如下:
1234567891011121314151617181920212223242526272829303132333435363 ...
RSA加密解密过长数据
最近在做Web系统的一个license许可功能的时候遇到了一个问题,当我用RSA对获取到的系统的特征值进行加密解密时,由于特征值字符串过长,导致RSA加解密的时候提示文本过长,失败。因此这里记录下我封装的对于长文本,RSA加解密的一个类。
提前准备好公钥和私钥文件.公钥和私钥文件生成见文章Python生成RSA公钥public.pem私钥private.pem
1234567891011121314151617181920212223242526272829303132333435363 ...
Centos7搭建CTFd竞赛靶场
下载CTFd代码CTFd的仓库代码下载地址:https://github.com/CTFd/CTFd/releases写这篇文章的时候最新版本是CTFd-3.4.0版本,因此以该版本为例。此处我下载的是第一个.zip文件
上传代码至Centos7服务器并解压如果你下载的是.zip文件请使用命令unzip CTFd-3.4.0.zip进行解压缩如果提示如下内容,说明没有安装unzip工具,请先执行命令yum install -y unzip安装unzip工具,再进行解压缩
-bash: un ...
Pyinstaller打包flask项目带templates和static静态文件
python3环境支持Windows下和Linux下打包。
Pyinstaller安装pip install pyinstaller
样例代码123456789101112131415161718192021222324import osimport sysfrom flask import Flask, render_templatefrom flask_cors import CORS# 获取资源路径def resource_path(relative_path): if ha ...
Alpine系统修改apk包管理器下载源
Alpine系统修改apk包管理器的下载源,来提高下载包的速度。
源配置文件路径位置:/etc/apk/repositories
可以直接使用vi命令修改repositories内容(默认系统未安装vim,只能使用vi)
写入到repositories文件以下内容修改源阿里云源:
12https://mirrors.aliyun.com/alpine/v3.15/mainhttps://mirrors.aliyun.com/alpine/v3.15/community
或使用命 ...
python使用hyperscan进行正则匹配demo
hyperscan安装见 文章
Basic Knownledge Of Hyperscan
123456789101112131415161718192021222324252627282930313233343536373839404142434445import hyperscan# Building database for hyperscanfrom typing import List, Optional, AnyRULES = { r"^10\.13[0 ...
python socketserver handle方法传递参数样例
实现思路从官方文档及其他地方并未找到合适的handle传参的方法,因此考虑重写部分类或类方法。
如果使用TCPServer启动的服务实例,则我们在注册server实例的时候就应该将参数传递过去,因此我们考虑重写下TCPServer的__init__方法:
以增加一个info参数为例
12345# 重写TCPServer构造函数class MyTCPServer(TCPServer): def __init__(self, server_address, RequestHandl ...
Python实现AES加密解密
AES加密有5种方式,分别是ECB, CBC, CTR, CFB, OFB从安全性上来看CBC的安全性是最高的,因此本篇文章只讨论CBC模式
CBC加密需要key(密钥)和iv(偏移量)密钥长度需要为8的倍数,通常只会用16,24,32其中的一种,其中32位长度安全性相比于其他两种更高.偏移量长度需要位16
利用Crypto模块实现
python3需要安装pycryptodomepip install pycryptodome
注意: windows环境下可能会有找不到Cry ...
Python实现RSA加密解密加签验签
提前准备好公钥和私钥文件.公钥和私钥文件生成见文章Python生成RSA公钥public.pem私钥private.pem
利用Crypto模块实现
python3需要安装pycryptodomepip install pycryptodome
注意: windows环境下可能会有找不到Crypto的情况,这里有个小BUG,windows环境下安装完pycryptodome后在你python的根目录下如:Python\Python36\Lib\site-packages里面有一个 ...