4 ms·
Yeah, my personal password manager is mostly that but with salt and other shenanigans, the algorithm is : bytestring = hash(master_password + url_domain + rand
by msl09 10y ago
Yeah, my personal password manager is mostly that but with salt and other shenanigans, the algorithm is :
bytestring = hash(master_password + url_domain + random_salt + persona)
password = translate(
bytestring, alphanumeric +
special_symbols_required_for_the_site
)[:max_allowed_length_for_website]
print(password)
storage[(url_domain, persona)] = (
random_salt,
max_allowed_length_for_website,
special_symbols_required_for_the_site
)
The advantage is that it's safer than password managers that store your passwords or require you to send your password over the internet, and it's more flexible than managers that do not store any information.
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.