secret_label_func.py 866 B

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