secret_label_func.py 891 B

12345678910111213141516171819202122232425262728293031
  1. """
  2. 密码标签生成与验证功能
  3. """
  4. import json
  5. from watermark_generate.tools import sign_verify
  6. def generate_secret_label(raw_data: str):
  7. """
  8. 生成密码标签
  9. :param raw_data: 模型版权信息
  10. :return: 指定格式密码标签字符串
  11. """
  12. sign_data, public_key = sign_verify.get_sign(raw_data)
  13. secret_label = json.dumps({'data': raw_data, 'sign': sign_data})
  14. return secret_label, public_key
  15. def verify_secret_label(secret_label: str, public_key: str) -> bool:
  16. """
  17. 验证密码标签
  18. :param secret_label: 生成的密码标签
  19. :param public_key: 签名公钥
  20. :return: 密码标签验证结果
  21. """
  22. dict_data = json.loads(secret_label)
  23. raw_data = dict_data.get("data")
  24. sign_data = dict_data.get("sign")
  25. verify_result = sign_verify.verify_sign(raw_data, sign_data, public_key)
  26. return verify_result