12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- """
- 密码标签生成验证http接口
- """
- from flask import Blueprint, request
- from watermark_generate.tools import secret_func
- from watermark_generate.domain import *
- from watermark_generate.tools import logger_tool
- from watermark_generate.tools.secret_func import verify_signature
- secret = Blueprint('secret', __name__)
- logger = logger_tool.logger
- @secret.route('/znwr/jit/ai/v1/crypto-label', methods=['POST'])
- def gen_crypto_label():
- """
- 生成密码标签
- :return: 密码标签
- """
- logger.debug(f'调用生成密码标签接口,request:{request.json}')
- gen_label_form = GenLabelFormSchema().load(request.json) # 反序列化 JSON 数据为对象
- info = gen_label_form.info
- owner = info.owner
- model = info.model
- try:
- secret = secret_func.get_secret(512)
- cert = ''
- except Exception as e:
- logger.error(e)
- return {'code': -1, 'msg': '生成密码标签失败'}
- logger.debug('密码标签生成成功')
- resp = GenLabelResp(code=0, msg='ok', label=secret, cert=cert)
- return GenLabelRespSchema().dump(resp)
- @secret.route('/znwr/jit/ai/v1/crypto-check', methods=['POST'])
- def self_test_crypto_label():
- """
- 密码标签功能自检
- :return: 自检结果
- """
- try:
- logger.debug('开始获取密码标签...')
- label = secret_func.get_secret(512)
- logger.debug(f'label:{label}')
- result = secret_func.verify(label)
- logger.debug(f'验证结果:{result}')
- except Exception as e:
- logger.error(e)
- return VerifyLabelRespSchema().dump(VerifyLabelResp(code=-1, msg='生成密码标签失败'))
- resp = VerifyLabelResp(code=0, msg='ok') if result else VerifyLabelResp(code=-1, msg='验证密码标签失败')
- return VerifyLabelRespSchema().dump(resp)
- @secret.route('/znwr/jit/ai/v1/verify-label', methods=['POST'])
- def verify_crypto_label():
- """
- 密码标签验证
- :return: 验证结果
- """
- logger.debug(f'request:{request.json}')
- verify_label_form = VerifyLabelFormSchema().load(request.json)
- label = verify_label_form.label
- info = verify_label_form.info
- cert = verify_label_form.cert
- result = secret_func.verify(label)
- logger.debug(f'验证结果:{result}')
- resp = VerifyLabelResp(code=0, msg='ok') if result else VerifyLabelResp(code=-1, msg='密码标签验证失败')
- return VerifyLabelRespSchema().dump(resp)
- @secret.route('/znwr/jit/ai/v1/verify-sign', methods=['POST'])
- def verify_signature_handle():
- """
- 验签功能处理
- :return: 验签结果
- """
- logger.debug(f'verify-sign request:{request.json}')
- verify_signature_form = VerifySignatureFormSchema().load(request.json)
- original = verify_signature_form.original
- signature = verify_signature_form.signature
- cert = verify_signature_form.cert
- result = verify_signature(original=original, signature=signature, cert=cert)
- resp = VerifyLabelResp(code=0, msg='ok') if result else VerifyLabelResp(code=-1, msg='验签失败')
- return VerifyLabelRespSchema().dump(resp)
|