Yeah, my personal password manager is mostly that but with salt and other shenanigans, the algorithm is :<p>bytestring = hash(master_password + url_domain + random_salt + persona)<p>password = translate(
  bytestring, alphanumeric +
  special_symbols_required_for_the_site
)[:max_allowed_length_for_website]<p>print(password)<p>storage[(url_domain, persona)] = (
  random_salt,
  max_allowed_length_for_website,
  special_symbols_required_for_the_site
)<p>The advantage is that it&#x27;s safer than password managers that store your passwords or require you to send your password over the internet, and it&#x27;s more flexible than managers that do not store any information.<p>The problem is that you need to copy your database file to each device you use , that can be specially frustrating when I need to use android, for instance.