Skip to content

Latest commit

 

History

History
65 lines (50 loc) · 1.73 KB

File metadata and controls

65 lines (50 loc) · 1.73 KB
created updated
2023-02-21 20:13:26 +0800
2023-02-21 20:49:33 +0800

该案例属于接口加解密算法的用法中的一例 算法为DES/CBC/PKCS5Padding算法 请求体为

I9z1fsH5QQ2NUbJi/7a8lw==

python文件如下:

# -*- coding:utf-8 -*-  
# author:f0ngf0ng  
  
from flask import Flask,Response,request  
import base64,hashlib,json  
from pyDes import *  
  
def des_encrypt(s):  
    """  
    DES 加密    :param s: 原始字符串    :return: 加密后字符串,16进制  
    """    secret_key = "f0ngtest"  
    iv = "f0ngf0ng"  
    k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5)  
    en = k.encrypt(s, padmode=PAD_PKCS5)  
    return base64.encodebytes(en).decode()  
  
app = Flask(__name__)  
  
@app.route('/encode',methods=["POST"])  
def encrypt():  
    param = request.form.get('dataBody')  # 获取  post 参数  
    data = json.loads(param)  
    encry_param = param.replace( data["id"],des_encrypt(data["id"]).strip())  
    return  encry_param  
  
@app.route('/decode',methods=["POST"]) # 不解密  
def decrypt():  
    param = request.form.get('dataBody')  # 获取  post 参数  
    return param  
  
if __name__ == '__main__':  
    app.debug = True # 设置调试模式,生产模式的时候要关掉debug  
    app.run(host="0.0.0.0",port="8888")

将以上代码保存为app.py,运行python3 app.py

配置如下:

600

调试如下:

原始请求如下:

实际请求如下:(可以去logger模块,或者安装logger++模块中查看)