问题记录.md 1.4 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 通过http传输的敏感信息要加密

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

privatekey使用的pem是zhou@123

gmssl sm2 -genkey -out skey.pem
gmssl sm2 -pubout -in skey.pem -out vkey.pem
  1. 使用公钥加密,私钥解密 python privatekey="EOpBYj1pH54b8BsAlkON71Q2c2FXEm+VTPNCgxz4+gVZ2C/pF/Bv152Qj3QH7cBRCUlNeO5SkI02DcwTASmVwESzR4F9IbMvUNxkDngINdcwaSWCTaaRTstNd4FIlJ0CqhDl/TPHFuBoRNBgUDfPJFfl7XYHs4VmOcrp02aXv8Q=" publickey="MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEsENe/8Sft6rK0h59t2a/6Pf4nzvxvJzc1SzalZe1xSDtUqW/10E/e+RjRbvykyjKzu3vAY1lwv9aU2Tnp6+isw=="