Remembering a lot of passwords is difficult. A lot of people use the same or a small set of passwords for everything.
Of course, this is very unsafe. If such a password a password is stolen, the adversary could get into several or maybe all of your accounts.
Let's say I have the base password Fo0b@rPW which I'd like to reuse in every account I use.
Fo0b@rPWgoogle ; Fo0b@rPWfacebook ; and so on
This is at least a little safer than reusing the same password but still pretty vulnerable to dictionary attacks.
How can I alter a single password in a way that it is safe but I still can remember which is the variant for each site?
One idea I have is to add specific digits at specific offsets like:
Fo0b@rPWgo2og4le6 ; Fo0b@rPWfa2ce4bo6ok8 ; and so on.
The problem is, that someone who could get one password in plain text, is able to figure the other passwords out. This means that the site-specific part has to become part of the entropy as well.
Now if I use some sort of elaborate algorithm like
Take the first digit of host name. Take the crossfoot of that digit's dec ASCII value . From the offset(crossfoot), insert a string with the length(host name) Invert that substring, if offset is round number