gbEncrypt is an extremely simple freeware application for entering and saving text. Encryption of the saved text files is supported. Standard text files are supported, as well as encrypted files saved by gbEncrypt.
Download (v1.31, 140K) |
gbEncrypt uses a single main screen, consisting of a toolbar and an edit control.
That's it. When gbEncrypt is opened, it automatically opens the file it was editing in the last session. Note that if encryption is enabled, a password will be required to save a file. Each file can have its own password, which must be entered before a file can be opened.
gbEncrypt can detect whether a file is encrypted and when an encrypted file is selected to be opened, the user will be asked to supply the password associated with that file.
New
Creates a new file.
Unless AutoSave is on, requests permission to save changes to the current file.
If changes are saved and encrypt is enabled, the user must supply a password.
Open
Opens an existing file.
Unless AutoSave is on, requests permission to save changes to the current file.
If changes are saved and encrypt is enabled, the user must supply a password.
The Open File dialog opens in the folder of the currently opened file.
Existing files may also be opened by dragging them to the gbEncrpt EXE icon or shortcut icon.
Save
Saves the current file without prompting for user approval to save changes.
If changes are saved and encrypt is enabled, the user must supply a password.
If the currently opened file has been changed by the user, the Save icon on the
toolbar is grayed out.
The Save As file dialog opens in the folder of the currently opened file.
SaveAs
Saves the current file under a new name.
Cut/Copy/Paste/Delete
Standard windows commands for editing the content of the textbox.
Undo/Redo
In work ...
Find
Opens a Find & Replace dialog.
Encrypt
Toggles whether encryption will be applied when the file is saved. The dropdown menu
attached to the encrypt toolbar button also provides the following options which define
the criteria used to validate a password used to save a file.
Font
Open a Font Selection dialog.
AutoSave
Toggles whether changes are automatically saved when the user exits from
gbEncrypt. Even if AutoSave is enabled, if Encrypt is enabled, the user
must enter a password for the file to be saved.
Actions
Provides a dropdown menu with the following options:
Help
When clicked, opens the online Help page in the user's default browser.
F1 may also be pressed to open the online Help page. The following dropdown menu is available:
But when a file is encrypted and saved to disk, gbEncrypt places a validation string at the front of the file. The validation string is used by gbEncrypt to know when an encrypted file is about to be opened. The process is somewhat transparent to the user, except for the need to enter a password when entering/opening an encrypted file.
For those interested in the details, gbEncrypt places a null character at the start of the file, followed by a validation string of characters which are encrypted using the password supplied by the user. Text content of the files follows immediately after the validation string. When gbEncrypt Opens a file, it checks that a null character is present as the first character in the file. if the null character is found, gbEncrypt assumes that the file is encrypted and then tests the characters immediately behind the null characters for the encrypted validation string (requesting that the user enter a password as part of the process). If the user entered password does not return the expected validation string, gbEncrypt will not open the selected file and will instead create a new, unencrypted file.
A context menu (right mouse click) is available that provides the following menu options:
Sessions
When gbEncrypt starts, it opens the file it was editing in the last session. The
gbEncrypt window size and position are also restored.
Password Entry
When entering a password needed to open or save a file, gbEncrypt does not limit the number
of times a password may be entered.
New File
New files are given a name such as "default_001.txt". gbEncrypt looks in the path of the
currently opened file and finds the first available number (i.e., 001, 002, ...) to assign
to the new file name.
New files are, by default, unencrypted. If New is executed, the Encrypt toolbar button will be released.
If New/Open are executed and the current file has been changed and Encrypt is on, the user MUST enter a password or the New/Open operation is aborted.
Encryption Effect on Changes Flag
Changing the Encrypt toolbar button sets the "Changes" flag, indicating to gbEncrypt that the file
content has changed.
Encrypt Speed
In the PowerBASIC forums I created a thread that discussed various encryption routines, focussing
on speed of encryption. For gbEncrypt I used a medium speed encryption algorithm just to keep the
routine simple. See the forum thread if faster Save/Open speeds are critical to you.
Save
When Saving an encrypted file, which requires a password, failure to provide the password will abort
the Save operation. This includes a Save that is required (when changes have been made to the current file)
before Opening a new file, Opening an existing file, performing a SaveAs operation, or exiting the
application.
INI File
gbEncrypt application settings are saved in an INI file, kept in the same folder as the gbEncrypt application.
CFN
In the source code and possibly in the Help file, you'll see the letters CFN. This stands for
the "Current File Name" - the file being viewed in gbEncrypt.
Programmer Comments
The code for New/Open and to exit from gbEncrypt are very similar. I could have combined the code
for those three actions, but decided it was easier to debug/maintain if I kept the code separate
for each.
Comments and suggestions are welcome!