Strong Password

Need help with what a strong password is?

Strong password recommendations are as follows:

  • Must contain 14 or more characters
  • Must contain upper and lower case letters
  • Must contain a number or special character (e.g. !@#$%^)
  • Must NOT be the same as your previous 12 passwords
  • Must NOT be similar to your username
  • Must NOT contain any sequence such as 123…, or abc…

Passwords can be easy to remember still and be secure, example:
1@m.$tr0ng3r.Th@n.1.L00k

I tend to tell people to come up with their own alpha/numeric character replacements.
Once you have your own method you can make a really secure password.

  • 1 = Lower case i or upper case i or lower case L
  • @ = a or A
  • 3 = e or E
  • $ = s or S
  • 0 (zero) = Lower case O or upper case O

This is a quick function I put together to take care of the above logic

function CleanUpPassword()
    {
        DirtyPassword="$1"
        echo "Dirty Password: $DirtyPassword"

        # Replace i, I, l with a number one
        CleanPassword=$(echo "$DirtyPassword" | sed "s|i|1|g" )
        CleanPassword=$(echo "$CleanPassword" | sed "s|I|1|g" )
        CleanPassword=$(echo "$CleanPassword" | sed "s|l|1|g" )

        # Replace a, A with @
        CleanPassword=$(echo "$CleanPassword" | sed "s|a|@|g" )
        CleanPassword=$(echo "$CleanPassword" | sed "s|A|@|g" )

        # Replace e, E with 3
        CleanPassword=$(echo "$CleanPassword" | sed "s|e|3|g" )
        CleanPassword=$(echo "$CleanPassword" | sed "s|E|3|g" )

        # Replace s, S with $
        CleanPassword=$(echo "$CleanPassword" | sed "s|s|$|g" )
        CleanPassword=$(echo "$CleanPassword" | sed "s|S|$|g" )

        # Replace o, O with a number zero
        CleanPassword=$(echo "$CleanPassword" | sed "s|o|0|g" )
        CleanPassword=$(echo "$CleanPassword" | sed "s|O|0|g" )

        echo "Clean Password: $CleanPassword"
    }

Example:

CleanUpPassword Iam.stronger.Than.I.Look

As a result you get this result

Dirty Password: Iam.stronger.Than.I.Look
Clean Password: 1@m.$tr0ng3r.Th@n.1.L00k
All information on this site is shared with the intention to help. Before any source code or program is ran on a production (non-development) system it is suggested you test it and fully understand what it is doing not just what it appears it is doing. I accept no responsibility for any damage you may do with this code.