secret_controller.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. """
  2. 密码标签生成验证http接口
  3. """
  4. from flask import Blueprint, request
  5. from watermark_generate.tools import secret_func
  6. from watermark_generate.domain import *
  7. from watermark_generate.tools import logger_tool
  8. secret = Blueprint('secret', __name__)
  9. logger = logger_tool.logger
  10. @secret.route('/znwr/jit/ai/v1/crypto-label', methods=['POST'])
  11. def gen_crypto_label():
  12. """
  13. 生成密码标签
  14. :return: 密码标签
  15. """
  16. logger.debug(f'调用生成密码标签接口,request:{request.json}')
  17. gen_label_form = GenLabelFormSchema().load(request.json) # 反序列化 JSON 数据为对象
  18. info = gen_label_form.info
  19. owner = info.owner
  20. model = info.model
  21. try:
  22. secret = secret_func.get_secret(512)
  23. cert = ''
  24. except Exception as e:
  25. logger.error(e)
  26. return {'code': -1, 'msg': '生成密码标签失败'}
  27. logger.debug('密码标签生成成功')
  28. resp = GenLabelResp(code=0, msg='ok', label=secret, cert=cert)
  29. return GenLabelRespSchema().dump(resp)
  30. @secret.route('/znwr/jit/ai/v1/crypto-check', methods=['POST'])
  31. def check_sign_verify():
  32. """
  33. 密码标签功能自检
  34. :return: 自检结果
  35. """
  36. try:
  37. logger.debug('开始获取密码标签...')
  38. label = secret_func.get_secret(512)
  39. logger.debug(f'label:{label}')
  40. result = secret_func.verify(label)
  41. logger.debug(f'验证结果:{result}')
  42. except Exception as e:
  43. logger.error(e)
  44. return VerifyLabelRespSchema().dump(VerifyLabelResp(code=-1, msg='生成密码标签失败'))
  45. resp = VerifyLabelResp(code=0, msg='ok') if result else VerifyLabelResp(code=-1, msg='验证密码标签失败')
  46. return VerifyLabelRespSchema().dump(resp)
  47. @secret.route('/znwr/jit/ai/v1/verify-label', methods=['POST'])
  48. def verify_crypto_label():
  49. """
  50. 密码标签验证
  51. :return: 验证结果
  52. """
  53. logger.debug(f'request:{request.json}')
  54. verify_label_form = VerifyLabelFormSchema().load(request.json)
  55. label = verify_label_form.label
  56. info = verify_label_form.info
  57. vert = verify_label_form.cert
  58. result = secret_func.verify(label)
  59. logger.debug(f'验证结果:{result}')
  60. resp = VerifyLabelResp(code=0, msg='ok') if result else VerifyLabelResp(code=-1, msg='密码标签验证失败')
  61. return VerifyLabelRespSchema().dump(resp)