« EKG - Online Manual »
EKG is a simple yet powerful key(password) generator whose only purpose is to help you create really complex passwords. EKG uses two key generating algorithms, a character based key generator which generates keys using randomized words and a dictionary based key generator which generates keys using predefined words. EKG was divided into multiple areas:
  • Dictionary - This area is used by the dictionary based key generator. Dictionary based keys are human readable & easy to remember. A dictionary is a collection of unique words which will be used to create the keys and it can be created using the buttons found below the dictionary list. The dictionary list is used to display words. Each list entry has two columns, that is, the left column in which it displays the word length and the right column in which it displays the word. You can remove an item from this list by applying a double-click with the left mouse button on one of the items. If don't know what a button is and what it does please move your mouse pointer over it and a tooltip will inform you about its use by showing a brief description.
    • Add Word - This button is used to add a word. The word can/must be specified in the text field situated on the left-hand side of the button. Please note that spaces are not allowed and, if present, will be replaced with underscore('_');
    • Open Dictionary - This button is used to open a dictionary. If the selected file is not a dictionary, that is, if it wasn't previously saved by EKG, the application will attempt to extract all/every unique word from that file;
    • Save Dictionary - This button is used to save the dictionary. Please note that saving the dictionary is a very dangerous thing because if it falls into the wrong hands it could give ideas about what words were used in your password, if any. If you want to save the dictionary please encrypt it;
    • Shuffle - This button is used to rearrange the dictionary in a random way. If you want to make your keys really complex you should click this button a few times;
    • Remove Item - This button is used to remove one of the list items;
    • Remove All - This button is used to clear the entire list;
  • Characters - This area is used by the character based key generator. Character based keys are complex and hard to remember(by humans). This key generator creates random words using characters specified by you. The large text field is used to specify which characters should be used and the buttons below it are used to manipulate them. If don't know what a button is and what it does please move your mouse pointer over it and a tooltip will inform you about its use by showing a brief description. You will notice that this area is actually a little key generator. Nice huh? 2 in 1 :)
    • Generate random characters - This button is used to randomly generate a fixed number of characters. The amount of generated characters can/must be specified in the text field situated on the left-hand side of the button;
    • Add Uppercase Letters - This button is used to add letters('A' to 'Z');
    • Add Lowercase Letters - This button is used to add letters('a' to 'z');
    • Add Digits - This button is used to add digits(0 to 9);
    • Add Symbols - This button is used to add symbols(!@#$%^&);
    • Add Extended Characters - This button is used to add extended(ÿþò) characters;
    • Shuffle - This button is used to rearrange the characters in a random way. If you want to make your words really complex you should click this button a few times;
    • Clear All - This button is used to clear the main character field;
  • Type - This area is used to specify the key type. You have three choices:
    • Dictionary - Keys will be generated using the dictionary based key generator;
    • Characters - Keys will be generated using the character based key generator;
    • Both - Keys will be generated using both key generators(recommended);
  • Settings for Dictionary based keys - This area contains settings for dictionary based keys and it will be used only if the "Dictionary" or "Both" key types are selected.
    • Word length must be between MIN and MAX - This option has two corresponding fields which will be used to specify a fixed, ranged or random word length. The left field represents the minimal value and the right field represents the maximal value. If both fields have 0 then every word listed in the dictionary will be used(recommended). If both fields have the same number then a fixed word length will be imposed and used when generating keys, that is, only words whose length match the requested size will be used. If the fields contain different numbers, let's say 1 for left and 3 for right then for each generated key EKG will randomly pick a word whose length is between Min and Max, in this case between 1 and 3;
  • Settings for Character based keys - This area contains settings for character based keys and it will be used only if the "Characters" or "Both" key types are selected.
    • Word length must be between MIN and MAX - This option has two corresponding fields which will be used to specify a fixed, ranged or random word length. The left field represents the minimal value and the right field represents the maximal value. If both fields have 0 then a random word length will be used in every generated key. If both fields have the same number then a fixed word length will be used when generating keys. If the fields contain different numbers, let's say 1 for left and 3 for right then for each generated key EKG will randomly pick a word length between Min and Max, in this case between 1 and 3;
  • Pattern - This area is used to specify which key generating algorithm will/should be favored when the "Both" key type is selected. Move the slider to the left if you want to favor dictionary based keys and add dictionary words or move the slider to the right if you want to favor character based keys and add randomized words.
  • Structure - This area is used to specify the key structure, that is, in this area you specify the key count, the key length and the word separators:
    • Key count must be between MIN and MAX - This option has two corresponding fields which will be used to specify a fixed, ranged or random key count. The left field represents the minimal value and the right field represents the maximal value. If both fields have 0 then a random key count will be used. If both fields have the same number then a fixed key count will be used when generating keys. If the fields contain different numbers, let's say 1 for left and 3 for right then EKG will randomly pick a key count between Min and Max, in this case between 1 and 3;
    • Key length must be between MIN and MAX - This option has two corresponding fields which will be used to specify a fixed, ranged or random key length. The left field represents the minimal value and the right field represents the maximal value. If both fields have 0 then a random key length will be used for every generated key. If both fields have the same number then a fixed key length will be used when generating keys. If the fields contain different numbers, let's say 1 for left and 3 for right then for each generated key EKG will randomly pick a key length between Min and Max, in this case between 1 and 3;
    • Separator(s) - In this field you must specify what characters should be used to separate the key's words. If you specify 2 or more separators EKG will randomly select one from the list when building the key and if you don't specify anything then no separator(s) will be used;
  • Key - This area is used to display the results. The list is used to display the generated results, that is, the generated keys. Each list entry has two columns, that is, the left column in which it displays how many words were used to compose that particular key and the right column in which it displays the key. You can remove an item from this list by applying a double-click with the left mouse button on one of the items;
  • Final - This area is used to generate & manipulate keys and exit the application:
    • Generate(F8) - Start generating keys;
    • Export(Ctrl+E or F5) - Export/Save the results. Please note that saving keys is not recommended because it leaves traces which cannot be permanently erased unless you have a good cleanup tool. If you want to save your keys please visit our web site and download the latest version of "Shaft". This tool is a FREE cleanup utility which can be successfully used to prevent file recovery upon deletion;
    • Exit(Ctrl+Q or Escape) - Exit the application;
« [EULA] END-USER LICENSE AGREEMENT for binary code distributions »

IMPORTANT-READ CAREFULLY: This CLASSIC SOFTWARE End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and CLASSIC SOFTWARE for the CLASSIC SOFTWARE software(s) identified above, which may include associated SOFTWARE components, media, printed materials, and "online" or electronic documentation ("SOFTWARE"). By installing, copying, or otherwise using the SOFTWARE, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, do not install or use the SOFTWARE.

  1. The SOFTWARE is licensed, not sold.
  2. GRANT OF LICENSE. CLASSIC SOFTWARE grants you the right to install and use copies of the SOFTWARE on your computer(s) as long as the terms of this agreement are respected.
  3. DISTRIBUTION. You are hereby licensed to make copies of the SOFTWARE as you wish; give exact copies of the original SOFTWARE to anyone; and distribute the SOFTWARE in its unmodified form via electronic means (Internet, BBS's, Shareware distribution libraries, CD-ROMs, etc.). You may charge a distribution fee for the package, but you must not represent in any way that you are selling the SOFTWARE itself.
  4. RESTRICTIONS. You may not reverse engineer, decompile, or disassemble the SOFTWARE, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation. You may not rent, lease, or lend the SOFTWARE. You may permanently transfer all of your rights under this EULA, provided the recipient agrees to the terms of this EULA. You must distribute a copy of this EULA with any copy of the SOFTWARE and anyone to whom you distribute the SOFTWARE is subject to this EULA.
  5. SUPPORT SERVICES. CLASSIC SOFTWARE may provide you with support services related to the SOFTWARE. Use of Support Services is governed by the CLASSIC SOFTWARE polices and programs described in the user manual, in online documentation, and/or other CLASSIC SOFTWARE-provided materials, as they may be modified from time to time. Any supplemental SOFTWARE code provided to you as part of the Support Services shall be considered part of the SOFTWARE and subject to the terms and conditions of this EULA. With respect to technical information you provide to CLASSIC SOFTWARE as part of the Support Services, CLASSIC SOFTWARE may use such information for its business purposes, including for product support and development. CLASSIC SOFTWARE will not utilize such technical information in a form that personally identifies you.
  6. TERMINATION. Without prejudice to any other rights, CLASSIC SOFTWARE may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE.
  7. COPYRIGHT. The SOFTWARE is protected by International copyright laws and treaty provisions. You acknowledge that no title to the intellectual property in the SOFTWARE is transferred to you. You further acknowledge that title and full ownership rights to the SOFTWARE will remain the exclusive property of CLASSIC SOFTWARE and you will not acquire any rights to the SOFTWARE except as expressly set forth in this license. You agree that any copies of the SOFTWARE will contain the same proprietary notices which appear on and in the SOFTWARE.
  8. NO WARRANTIES. CLASSIC SOFTWARE expressly disclaims any warranty for the SOFTWARE. THE SOFTWARE AND ANY RELATED DOCUMENTATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OR MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. THE ENTIRE RISK ARISING OUT OF USE OR PERFORMANCE OF THE SOFTWARE REMAINS WITH YOU.
  9. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. IN NO EVENT SHALL CLASSIC SOFTWARE OR ITS SUPPLIERS BE LIABLE TO YOU FOR ANY CONSEQUENTIAL, SPECIAL, INCIDENTAL, OR INDIRECT DAMAGES OF ANY KIND ARISING OUT OF THE DELIVERY, PERFORMANCE, OR USE OF THE SOFTWARE, EVEN IF CLASSIC SOFTWARE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL CLASSIC SOFTWARE'S LIABILITY FOR ANY CLAIM, WHETHER IN CONTRACT, TORT, OR ANY OTHER THEORY OF LIABILITY, EXCEED THE LICENSE FEE PAID BY YOU, IF ANY.
  10. MISCELLANEOUS. Should you have any questions concerning this EULA, or if you desire to contact CLASSIC SOFTWARE for any reason, please contact CLASSIC SOFTWARE at:
« [EULA] END-USER LICENSE AGREEMENT for source code distributions »

Classic Software grants you ("Licensee") a non-exclusive, royalty free, license to use, modify and redistribute this software in source and binary code form, provided that this copyright notice and license appear on all copies of the software.

This software is provided "AS IS" without a warranty of any kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. CLASSIC SOFTWARE AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL CLASSIC SOFTWARE OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF CLASSIC SOFTWARE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Copyright © 2002-2005 Classic Software®. All rights reserved.