PassGen - Help App
v0.2

PassGen allows you to generate long, hard to crack passwords for accounts that are managed by password management tools like PassMan. The passwords generated by this tool are not suitable for manual use because they would be very difficult to remember. If you are looking for a tool that creates passwords that are easier to remember try PassGenW.

PassMan provides you with a lot of flexibility for defining the characteristics of the generated passwords. You can specify the number of passwords generated, the minimum length, the maximum length, a custom prefix, a custom suffix, a filter and a custom alphabet (or character set).

To generate a list of password simply click the Generate button. You can clear the password list by clicking the Clear button.

The table below describes each of the fields.

Field Default Description
Number of Passwords 10 The number of passwords to generate.
Minimum Length 20 The minimum password length. You never want this value to be less than 10. If the minimum length is changed to a value larger than the maximum length, the maximum length is automatically adjusted.
Maximum Length 20 The maximum password length. If the maximum length is changed to a value larger than the minimum length, the minimum length is automatically adjusted.
Custom Prefix   The custom prefix that you want for each password. One possible use of a custom prefix is to help organize your passwords. For example all of your bank passwords may have "bank/" as the prefix.
Custom Suffix   The custom suffix that you want for each password. One possible use of a custom suffix is to help organize your passwords. For example all of your bank passwords may have "/bank" as the suffix.
Filtering Pattern ^.*$ The filter applied to password candidates to only keep the ones that match a certain pattern as defined by the regular expression pattern. The default is to accept all passwords.

For example, you could use it to guarantee that all of your passwords have "abc" as the first three characters by specifying something like "^abc.*$".

When using filtering you must be careful to make sure that the patterns you are searching for are in the valid alphabet. For example if your specify "^abc.*$" but only allow digits in your alphabet, no passwords will ever match and the app will time out.

You also want to make sure that for patterns like "^abc" you weight the lower case letters so that that have a much higher probability of appearing. If you don't do that, it is more likely to time out.
Filtering Attributes case insensitive There is only one filtering attribute defined. When check it tells PassMan to do a case insensitive search.
Timeout (ms) 500 The maximum amount of time allowed to generate patterns. When the time is exceeded a timeout message pops up. The default is half a second.
Lowercase Letters 1 The number of times to include lower case letters in the final alphabet (character set) that is used to generate the passwords. The more times that it is included, the higher the probability that characters from that set will appear in the final result.

For passwords where you want a lot of lower case letters to appear relative to other characters you would want to specify a value like 10.
Uppercase Letters 1 The number of times to include upper case letters in the final alphabet (character set) that is used to generate the passwords. The more times that it is included, the higher the probability that characters from that set will appear in the final result.

For passwords where you want a lot of upper case letters to appear relative to other characters you would want to specify a value like 10.
Digits 1 The number of times to include digits in the final alphabet (character set) that is used to generate the passwords. The more times that it is included, the higher the probability that characters from that set will appear in the final result.

For passwords where you want a lot of digits to appear relative to other characters you would want to specify a value like 10.
Hex Digits 0 The number of times to include hex digits in the final alphabet (character set) that is used to generate the passwords. The more times that it is included, the higher the probability that characters from that set will appear in the final result.

For passwords where you want a lot of hex digits to appear relative to other characters you would want to specify a value like 10.
Selected Punctuation 1 The number of times to include a subset of punctuation characters in the final alphabet (character set) that is used to generate the passwords. The more times that it is included, the higher the probability that characters from that set will appear in the final result.

For passwords where you want a lot of these characters to appear relative to other characters you would want to specify a value like 10.

This is the subset of punctuation characters that I felt would the useful for passwords. You can define your own set in the custom section and the set the number to zero if you don't like my selection.
Punctuation 0 The number of times to include punctuation characters in the final alphabet (character set) that is used to generate the passwords. The more times that it is included, the higher the probability that characters from that set will appear in the final result.

For passwords where you want a lot of punctuation characters to appear relative to other characters you would want to specify a value like 10.
Custom 0 The number of times to include custom characters in the final alphabet (character set) that is used to generate the passwords. The more times that it is included, the higher the probability that characters from that set will appear in the final result. You can even duplicate characters to increase the probability that they will be used.

For passwords where you want a lot of custom characters to appear relative to other characters you would want to specify a value like 10.
Repeated Characters
Allow
If checked, then allow repeated characters like "aa" in the generated passwords. Allowing repeated characters increases randomness but may decrease entropy. Consider the case of a 10 character password that is "aaaaaaaaaa". Although it is random, it is probably not very safe from cracking.

The number of repeated characters describes the size of the sequence.

 

Examples

These examples illustrate how to use the app.

Example #1: Defaults

Steps:
  1. Click the Generate button with the defaults.

You will see 10 passwords generated. ere is an example of the output. The first column is the count, the second column is the length of the password and the third column is the password.

The alphabet has 71 characters.

     1     20  d_KN7LeaMyfdZ,7UcDM7
     2     20  $@b+N3V0zBDd4jpUL56j
     3     20  5dPZNv/0b-OmJ*t6HO,l
     4     20  4a5zX6,9ui_3+$E7Q$tS
     5     20  A3svS@Rmy1df-Ijn7SVg
     6     20  @lpm3B_20iyWb_2*Q@eR
     7     20  ,QDNZgUs_zqjzZos5QH$
     8     20  KnlXh,+G9uiUycBPmSsh
     9     20  9_M.AhRjw8U,OdU$LxjY
    10     20  MR,2dGr7cM$h1qs279B.

Example #2: Change the number of passwords

Steps:
  1. Set the number of passwords to 15.
  2. Click the Generate button.

You will see 15 passwords generated. Here is an example.

The alphabet has 71 characters.

     1     20  nH9z1@yD8jiL.DA*hEZt
     2     20  *1AWbBC7DFviRi,24dg6
     3     20  y.@JpA/n3dDWq+FER7Zw
     4     20  4dHFTRJurU+hIZMfv9C$
     5     20  Abjf5hbvM*Igft,hPS*u
     6     20  ITb5f_He6TJX3eswhf-H
     7     20  3wq12hF+pIPw*9b5-mgO
     8     20  gzed.36FOtR+mW4-XZop
     9     20  RnmC_FCsc*Jd4P7CoJms
    10     20  ABnc*c.A1xRFOVJQI42o
    11     20  b,S_JeAwkDmqI+,-gXAJ
    12     20  aAVrf1SNp4@2kFpGqLSW
    13     20  AT_R,w_lR8wU5l-jtPr/
    14     20  ,nV$xIvDPE/_JGZdi*,6
    15     20  T-bS$B1GT,Zy/RYw1Jrp

Example #3: Generate 10 passwords that start with lowercase "aa"

Steps:
  1. Set the number of passwords to 10.
  2. Set the number of lower case sets to use to 10.
  3. Uncheck the case sensitive checkbox
  4. Check the Allow box so that repeated characters are allowed.
  5. Set the number of repeated characters to 2.
  6. Set the filtering pattern to ^aa.
  7. Click the Generate button.

You will see 10 passwords generated that start with "aa". Here is an example.

The alphabet has 305 characters.

     1     20  aalkRhDxg_zyx@iy2Bgl
     2     20  aabzqkeda1wpwmwiwmbj
     3     20  aawekOpaswfHfwnvicqg
     4     20  aaeutvdbTYijiimbayhq
     5     20  aafthtzzbaWVei5ojwhp
     6     20  aayiif*ythtumpigpceR
     7     20  aahhrawotfqvzkeimqfl
     8     20  aaxg1siipjmwehqgmwpe
     9     20  aaqla81eyfblaGjTpjoQ
    10     20  aatkhyXkthlklxamhaka

License

Copyright (c) 2013 by Joe Linoff

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.