import string
import random


def gen_string(min_length: int = 8, max_length: int = 12) -> str:
  """Generate a random string with letter, numbers, and symbols
  Args:
    min_length: minimum length of string
    max_length: maximum length of string
  Returns:
    str Random length string with random characters
  """
  allchar = string.ascii_letters + string.punctuation + string.digits
  return "".join(
      random.choice(allchar)
      for _ in range(random.randint(min_length, max_length)))