Generate Random Passwords From Console

By Morten Møller Riis

August 20 2012 10:30 CET

Here is a small function you can stick in your .zshrc or .bashrc to easily generate random passwords of a given length.

               # Generate random password
               function generate_random_password() {
                 if [ -z "$1" ]; then
                   randpwlen=8
                 else
                   randpwlen=$1
                 fi
                 cat /dev/urandom | tr -dc '1234567890!@#$%abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ' | head -c$randpwlen | pbcopy
                 pbpaste
                 echo "\nNow in your pasteboard!"
               }
             

Use it like this generate_random_password (generates a 8 character password) or generate_random_password 16 (generates a 16 character password).