问题记录.md
1.5 KB
权限控制
1 接口权限控制
需求:api需要授权
1.确定当前使用openapi2版本 2.了解简单YAML使用方式,文档使用YAML格式 3.声明Swagger,传入配置template(json或者yaml)
Swagger(app, config=swagger_config,template=SWAGGER_TEMPLATE)
2 用户密码加密
用户密码加密不可逆,兼容国产化,使用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中 依赖组件:
- pycryptodome
- Crypto
- binascii 参考资料 pycryptodome
from app.models import AESHelper
encryption=AESHelper.encode('message')
result=AESHelper.decode(encryption)