docs: def scrypt_mcf_check(mcf, password):
      """Returns True if the password matches the given MCF hash"""
      if not isinstance(mcf, bytes):
          raise TypeError('MCF must be a byte string')
      if isinstance(password, unicode):
          password = password.encode('utf8')
      elif not isinstance(password, bytes):
          raise TypeError('password must be a unicode or byte string')
      if len(mcf) != 124 or b'\0' in password:
          return mcf_mod.scrypt_mcf_check(scrypt, mcf, password)
  
      mcfbuf = ctypes.create_string_buffer(mcf)
      ret = _libscrypt_check(mcfbuf, password)
      if ret < 0:
          return mcf_mod.scrypt_mcf_check(scrypt, mcf, password)
  
      return bool(ret)