Password Generator 1.1 Overview

Overview

Password Generator 1.1 is an easy-to-use and flexible random password generator.

Here are it's features:

  • Creates random passwords using the PMMMLCG - Prime Modulus M Multiplicative Linear Congruential Generator.
  • Generates password of varying length (specified by user).
  • User can specify seed for generation:
    • System time (default)
    • User-specified custom seed
  • Option to create passwords which contains symbol characters.
  • Option to create passwords which contains unprintable characters.
  • Has a "Save" button that allows users to save the generated passwords to a file on a disk.
  • Has a built-in help system which automatically informs the user the next step to do.
  • Allows scripting.

For more information and updates, check out our website at http://benjaminsoftware.hypermart.net.

Copyright © 2000 by Benjamin L. T. Ng. All rights reserved.


The Main Dialog Box

The built-in help system

It is located at the top of Password Generator's main window. It provides step by step information on using Password Generator. There are two small back and forward arrows for you to proceed to the next step or going back to the previous step. The current step is highlighted appropriately on the controls.

Password Length

This lets you specify the length of the password (in characters) to be generated. The default length is 10 characters.

Seed

This lets you specify the seed used for generating the password. The default is Use current system time, which uses the system time (recommended). If you would like to specify your own seed, click on the Let me specify radio button. Then, type in a numerical value in the text box.

Allow non-printable characters

If you check this checkbox, the generated password will contain non-printable characters. Default: Unchecked.

Allow symbol characters

If you check this checkbox, the generated password will contain symbol characters (characters which are non alpha-numeric, such as «©¾¶, etc.). Default: Unchecked.

Generate

Click this button to generate the new password based on the options you have specified.

Copy

Click this button to copy the generated password to the clipboard or to other applications that are integrated or synchronized with Password Generator.

Close

Click this button to close the Password Generator's main window.

Save

Click this button to save the password in a text file. A dialog box will appear, prompting you for a file name. After that, another dialog box will prompt you for a description to be placed in the text file.

About

Click this button to display the about box which displays version number and copyright information.

See also

How to generate a password


Generating Passwords

Generating passwords with Password Generator is very simple and straightforward.

  1. Specify the password length in the Password Length text box.
  2. Next, you can set custom options or use the default options.
  3. Click the Generate button.
  4. Click the Copy button to copy the password to the clipboard
  5. Click the Save button to save the password to a file. Remember to keep this file in a diskette in a safe place.
  6. Click the Close button to exit Password Generator.
  7. Right-click the text box where you want to enter the password.
  8. Choose Paste.


Scripting

Scripting Ability

Password Generator 1.1 currently allows simple scripting. You can use scripting languages such as VBScript, JavaScript or Windows Scripting Host (WSH) to automate Password Generator 1.1.

You could even use Password Generator 1.1 in your applications by using COM-aware development environments such as Visual Basic, Visual C++ or Delphi.

Scripting functionality is exposed via the PassGen.Application object. It exposes several property and methods for scripting. After creating the object, you can use those properties and methods.


The PassGen.Application object

Heres how to create and use the PassGen.Application object using VBScript:

Set Obj = CreateObject( "PassGen.Application" )  Obj.Show

Properties:

Name | Type | Description
AllowUI | Boolean (Reserved) | Not yet implemented. Reserved for future use.
ProcID | Long (Read-only) | Process ID of Password Generator.
MemoryName | String | Name of a block of shared memory used to store the generated password.
PassLength | Integer | Length of the password to generate.
Seed | Integer | Seed used to generate passwords.
NonPrintableChars | Boolean | Specify whether to allow non-printable characters in the generated password.
SymbolChars | Boolean | Specify whether to allow sysbol characters in the generated password.
Visible | Boolean | Visibility of the Password Generator main window.

Methods:

Name | Description
Generate | Generate a new password.
Copy | Copy the generated password to the clipboard.
Save | Save the generated password to a specified file.
Show | Show the Password Generator's main window.
Terminate | Closes Password Generator.


ProcID Property

Stores the process ID of the Password Generator application.

Type:

Long (Read-only)

This is used in applications typically making a call to Win32 API functions such as WaitForSingleObject() to synchronize with Password Generator.

See also:

MemoryName property


MemoryName Property

Specifies the name of a block of shared memory used to store the generated password.

Type:

String

This property specifies the name of a block of shared memory allocated using a CreateFileMapping(). Applications may specify a name in the MemoryName property and later display Password Generator using the Show method. Your application may wait for Password Generator using the WaitForSingleObject() API function. After Password Generator finishes, your application can retrieve the password from the shared memory using the CreateFileMapping() function.

See also:

Show method, ProcID property


PassLength Property

Specify the length of the password to generate.

Type:

Integer

Must be a positive value. If a negative value is specified, the absolute value of it will be used instead.


Seed Property

Specify the seed used to generated passwords.

Type:

Integer

A negative value specifies to use the default seed (system time).

A positive value specifies to use the positive value as the seed.

For example, if Seed is -1, then the system time would be used. If Seed is 123, then 123 would be used as the seed.


NonPrintableChars Property

Specify whether to allow non-printable characters in the generated password.

Type:

Boolean

True allows non-printable characters in the generated password.

False disallows non-printable characters in the generated password.


SymbolChars Property

Specify whether to allow sysbol characters in the generated password.

Type:

Boolean

True allows symbol characters in the generated password.

False disallows symbol characters in the generated password.


Visible Property

Specify the visibility of the Password Generator main window.

Type:

Boolean

True makes the main window visible.

False makes the main window invisible.


Generate Method

Generate a new password.

Declaration:

Public Function Generate() As String

Parameters:

None

Return:

The newly generated password.


Copy Method

Copy the generated password to the clipboard.

Declaration:

Public Function Copy() As String

Parameters:

None

Return:

The password that was copied to the clipboard.


New Page 1

Save Method

Save the generated password to a specified file.

Declaration:

Public Function Save(Optional FileName As String, Optional Description As String) As Boolean

Parameters:

FileName specifies the file to save the password to. If this is not specified, a dialog box will appear, prompting the user for a filename.

Description specifies the description that will be placed in the file. If no description is not speicified, a dialog box will appear, prompting the user for a description.

Return:

True if successful, false otherwise.


New Page 1

Show Method

Show the Password Generator's main window.

Declaration:

Public Sub Show()

Parameters:

None

Return:

None


New Page 1

Terminate Method

Closes Password Generator.

Declaration:

Public Sub Terminate()

Parameters:

None

Return:

None


AllowUI Property

Not yet implemented. Reserved for future use.

Type:

Boolean

This property is always True.


Contacting the author

Do you have any suggesstions, comments, or bug reports? Feel free to contact the author via e-mail at benji_ng@yahoo.com.

Remember to check out Benjamin Software Web Site for more information and updates.