问题记录.md 1.5 KB

权限控制

1 接口权限控制

swagger

需求:api需要授权

1.确定当前使用openapi2版本 2.了解简单YAML使用方式,文档使用YAML格式 3.声明Swagger,传入配置template(json或者yaml)

Swagger(app, config=swagger_config,template=SWAGGER_TEMPLATE)

2 用户密码加密

pipy github 使用gmssl demo

用户密码加密不可逆,兼容国产化,使用sm3算法,采用gmssl开源组件

封装好的类使用如下:

from app.models import SM3
password = SM3.encode('test')

3 通过网络传输的敏感信息要加密

使用sm2,通过gmssl工具生成sm2的公钥、私钥。 教程

1.生成sm2公钥、私钥 privatekey使用的pem是zhou@123

2. 使用公钥加密,私钥解密 前端使用sm-crypto,用户与python-gmssl互通 npm_sm-crypto

使用AES加密敏感信息,前端加密,后端解密。偏移量iv、加密密钥key与前端保持一致,保证解密正确。封装在models.py中 依赖组件:

from app.models import  AESHelper

encryption=AESHelper.encode('message')
result=AESHelper.decode(encryption)