secret_controller.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. secret = Blueprint('secret', __name__)
  8. @secret.route('/znwr/jit/ai/v1/crypto-label', methods=['POST'])
  9. def gen_crypto_label():
  10. """
  11. 生成密码标签
  12. :return: 密码标签
  13. """
  14. gen_label_form = GenLabelFormSchema().load(request.json) # 反序列化 JSON 数据为对象
  15. info = gen_label_form.info
  16. owner = info.owner
  17. model = info.model
  18. secret = secret_func.get_secret(512)
  19. cert = ''
  20. resp = GenLabelResp(code=0, msg='ok', label=secret, cert=cert)
  21. return GenLabelRespSchema().dump(resp)
  22. @secret.route('/znwr/jit/ai/v1/crypto-check', methods=['POST'])
  23. def check_sign_verify():
  24. """
  25. 密码标签功能自检
  26. :return: 自检结果
  27. """
  28. label = secret_func.get_secret(512)
  29. result = secret_func.verify(label)
  30. resp = VerifyLabelResp(code=0, msg='ok') if result else VerifyLabelResp(code=-1, msg='verify error')
  31. return VerifyLabelRespSchema().dump(resp)
  32. @secret.route('/znwr/jit/ai/v1/verify-label', methods=['POST'])
  33. def verify_crypto_label():
  34. """
  35. 密码标签验证
  36. :return: 验证结果
  37. """
  38. verify_label_form = VerifyLabelFormSchema().load(request.json)
  39. label = verify_label_form.label
  40. info = verify_label_form.info
  41. vert = verify_label_form.cert
  42. result = secret_func.verify(label)
  43. resp = VerifyLabelResp(code=0, msg='ok') if result else VerifyLabelResp(code=-1, msg='verify error')
  44. return VerifyLabelRespSchema().dump(resp)