code: def is_password_valid(plaintextpw: str, storedhash: str) -> bool:
      
      # Upon CamCOPS from MySQL 5.5.34 (Ubuntu) to 5.1.71 (CentOS 6.5), the
      # VARCHAR was retrieved as Unicode. We needed to convert that to a str.
      # For Python 3 compatibility, we just str-convert everything, avoiding the
      # unicode keyword, which no longer exists.
      if storedhash is None:
          storedhash = ""
      storedhash = str(storedhash)
      if plaintextpw is None:
          plaintextpw = ""
      plaintextpw = str(plaintextpw)
      try:
          h = bcrypt.hashpw(plaintextpw, storedhash)
      except ValueError:  # e.g. ValueError: invalid salt
          return False
      return h == storedhash
docs: Checks if a plaintext password matches a stored hash.
  
      Uses ``bcrypt``. The stored hash includes its own incorporated salt.