The Hex Password Generator is a small program used to create Random Passwords. In the Standard mode
it uses Characters from A to Z, and lower case a to z, and numbers from 0 to 9. In Enhanced mode it
adds 10 Special Characters, ! @ # $ % ( ) <> ? for sites that allow, or require them. From what I
have read, it’s good to have Passwords based on Entropy. The Hex Password Generator is a small
program used to create Random Passwords. In the Standard mode it uses Characters from A to Z,
and
lower case a to z, and numbers from 0 to 9. In Enhanced mode it adds 10 Special Characters,
! @ # $ % ( ) <> ? for sites that allow, or require them. From what I have read, it’s good to
have
Passwords based on Entropy. Entropy is, Length and Probability, that is the number of
characters
and how many different characters are involved.
The formula for Entropy is: H = L * log(N) / log(2) Where H is Entropy, L is Length and N is
the number of characters. The higher the Entropy, the safer your password. Let’s say you
have a
pool of 62 different characters, the same as the standard mode of this program,
(26*2+10=62).
For each characters you have an Entropy of 6 bits, (log(62) / log(2) = 5.95). You might ask
if this is always true, and it is not. If you use a password of “Password” it would give you
Entropy of 46 bits, but that password is still very easy to crack because of the way
password
crackers are deployed. Entropy is, Length and Probability, that is the number of characters
and
how many different characters are involved.
The formula for Entropy is: H = L * log(N) / log(2) Where H is Entropy, L is Length and N is
the
number of characters. The higher the Entropy, the safer your password. Let’s say you have a
pool
of 62 different characters, the same as the standard mode of this program, (26*2+10=62). For
each
characters you have an Entropy of 6 bits, (log(62) / log(2) = 5.95). You might ask if this
is always
true, and it is not. If you use a password of “Password” it would give you Entropy of 46
bits,
but that password is still very easy to crack because of the way password crackers are
deployed.
Type |
Pool of Characters Possible |
Lowercase |
26 |
Lower & Upper Case |
52 |
Alphanumeric |
36 |
Alphanumeric & Upper Case |
62 |
Common ASCII Characters |
30 |
Diceware Words List |
7,776 |
English Dictionary Words |
1,022,000 and counting |
As you can see, things change when you take into consideration the possibilities of how
passwords are
cracked. Let’s take this for example. You create a password of JFKwasPresident. It has 15
upper and
lower case characters, so figuring the Entropy would be: 15 * log(52) / log(2) = 85.5 bits.
BUT,
looking at the Diceware Words List, that would be 3 words JFK was President. So to figure
the Entropy
for that would be: 3 * log(7776) / log(2) = 38.7 bits. As you can see, the Entropy dropped a
lot
because of how the password was put together, or built. Password crackers look for full
words in
passwords, and they also look for symbols and numbers in words too, such as Lo0k and $it,
while better,
they still look for things like that. So using Random Characters, Numbers and Symbols you
get a
stronger Password. With the computing power of today’s CPU’s, it wouldn’t take as long to
crack a
password with just words and numbers and symbols than something that is totally random.
Something I
came across while writing this program, and also looking over options while writing the code
is this
from Information Security at
Stack Exchange.
“There are equations for when the password is chosen randomly and uniformly from a given
set;
namely, if the set has size N then the entropy is N (to express it in bits, take the base-2
logarithm of N). For instance, if the password is a sequence of exactly 8 lowercase letters,
such
that all sequences of 8 lowercase characters could have been chosen and no sequence was to
be
chosen with higher probability than any other, then entropy is N = 268 = 208827064576, i.e.
about
37.6 bits (because this value is close to 237.6). Such a nice formula works only as long as
uniform
randomness occurs, and, let's face it, uniform randomness cannot occur in the average human
brain.
For human-chosen passwords, we can only do estimates based on surveys (have a look at
that
for some pointers).
What must be remembered is that entropy qualifies the password generation process, not the
password itself. By definition, "password meter" applications and Web sites
do not see the process, only the result, and uniformly return poor results (e.g. they will
tell
you that "BillClinton" is a good password).
When the process is an in-brain one, anything goes.
(I generate my passwords with a computer, not with my head, and I encourage people to do the
same.)”
That is the reason I wrote this program.
While there are other ways to come up with a Random Passwords, such as a Password Card found
at:
PasswordCard.org,
I just found this a better way for me.
Since I didn’t encrypt the passwords generated, it’s best to store the passwords you
generate on
an external drive, such as a thumb drive or external hard
drive that can be disconnected from your computer, and stored in a safe or another safe
place.