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