Generate and check email@example.com
pwgen is my most favorite tool. pwgen offers a wide choice of options. Here is a sample of what pwgen can do for you.
But, you may like to try making a home-grown tool of your own. Use these simple one-line shell scripts, to generate your own passwords of any length:
gpg --gen-random --armor 1 32
In my case, just now, the result was: 6lS7cgCyT9vkCZIDQIXcgbXk7bkoVZqdZ0U4HZ4RJw8=
$ openssl rand -base64 32
Similarly, with OpenSSL: the output is: CrUk9dNutlsCErYv5U19ZWP0Pe9GwQgwdDgUNEapXjk=
You now have a real tough/strong password.
You can build more elaborate shell scripts, using the above one-line scripts. These scripts can also be useful whenever you want to generate random text strings e.g. for OTP, for CAPTCHA challenges, for misc. testing.
Here are some simple examples (you can improve upon them or customise them, any way you want):
$ echo "123abcd" | cracklib-check
If you do this, you will get: abcd1234: it is too simplistic/systematic
And if you use a normal word?:
$ echo "admin" | cracklib-check
admin: it is based on a dictionary word