apikey_validator.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from .apikey import apikey
  2. class apikey_validator:
  3. def __init__(
  4. self,
  5. size: int,
  6. prefix: str,
  7. prefix_separator: str
  8. ) -> None:
  9. self.__size = size
  10. self.__prefix = prefix
  11. self.__prefix_separator = prefix_separator
  12. @property
  13. def size(self) -> int:
  14. return self.__size
  15. @property
  16. def prefix(self) -> str:
  17. return self.__prefix
  18. @property
  19. def prefix_separator(self) -> str:
  20. return self.__prefix_separator
  21. def validate(self, content: str) -> bool:
  22. parts = content.split(self.prefix_separator)
  23. if len(parts) != 2:
  24. return False
  25. prefix = parts[0]
  26. token = parts[1]
  27. if prefix != self.prefix:
  28. return False
  29. if len(content) != self.size:
  30. return False
  31. if len(token) % 2 != 0:
  32. token = token + "0"
  33. try:
  34. bytes_token = bytes.fromhex(token)
  35. except:
  36. return False
  37. return True