# Activation Key Storage Utility



## Kreij (Aug 27, 2010)

*Key-Z : A Secure Activation Key and Password Storage Utility*

Key-Z allows you to store activation keys and passwords in a secure (encrypted) 
file. Key-Z also allows you to make cryptographic hashes for strings or files.

*Menu Options*
_File_

 Open : Opens a saved Key-Z file. After you select the file you will be prompted 
for your username and PIN number.
 Save : Save the Key-Z file to the last saved location. You will be prompted for a username and PIN number before the file is saved.
 Save As : Select where you would like to save the Key-Z file. You will be prompted for a username and PIN number before the file is saved.
 Close : Close the current Key-Z file and clear all data from the application.
 Print Preview : Preview print output prior to printing.
 Print : Print keys and passwords directly to the default printer.
 Exit : Exit the application
_Options_
 Set Backup Folder : Allows you to select a location to back-up the Key-Z file 
in addition to where you normally save it.
_Help_
 Content : Provides a link to this page.
 About : Application information.

*Keys Tab*
This allows you to enter, modify or delete activation keys.







_Filter Groups Dropdown_ : This allows you to select which group of keys are 
displayed in the Keys DataGridView.
_Group Dropdown_ : This allows you to select which group you would like to associate 
with an activation key.
_Application TextBox_ : The name of the application for which the key is used.
_Keys TextBoxes_ : This is where you enter the activation key segments. If you 
enter a dash "-", your will be taken to the next TextBox automatically. If you 
paste a dash seperated key (ie. 1234-1234-1234) into the first TextBox the 
program will automatically separate it into segments.
_Comments TextBox_ : For any comments about the key.
_Commit Button _: This will add the key to the keys DataGridView after performing 
some data integrity checks.

*Password Tabs*
This allows you to create, enter, modify or delete passwords.






_Filter Groups Dropdown_ : This allows you to select which group of passwords are 
displayed in the Keys DataGridView.
_Group Dropdown_ : This allows you to select which group you would like to 
associate with a password.
_Description TextBox_ : A description saying for what the password is used.
_Alphabetic Character Options_:
_Numeric Character Options_:
_Special Character Options_:
_Length_:
_Must Start With_:
_Must End With_:
The above drop downs are used to set parameters when generating a password.
_Generate Password Button_ : Create a random password based upon the password 
option settings.
_Commit _: This will add the password to the passwords DataGridView after 
performing some data integrity checks.

*Cryptographic Hashes Tab*
This allows you to generate and verify cryptographic hashes created from strings 
of files.





_Hash Type Dropdown_ : This allows you to select the type of hash you would like to 
generate.
_Filename_ : This allows you to enter a filename (path) to used to create the 
cryptographic hash. Check the "string" CheckBox if you want the hash generated 
from the text in the TextBox instead of reading the contents of the file.
_Generate Hash Button_ : This generates the hash from the above input. You can 
cancel the hash generation using the Stop Button. A spinning icon shows that the 
process is running, and when it is complete it will display the hash in the 
TextBox below it and also report the time that it took to hash the input.
You can copy and paste a hash string in the second TextBox and it will be 
compared to the first to verify the hashes match.

*Application Buttons*
_Save_ : This will save the key and password information to an encrypted file. You 
will be prompted for a file location and name, and also for a username and PIN 
number. If you forget your username and/or PIN number there is no way of 
recovering the data in the encrypted file.
_Exit_ : This will exit the application.

*Additional Information*
_Adding a group_ : To add a new group to either keys of passwords simply commit 
either using any available group and edit the group name in the DataGridView. 
When the Key-Z file is opened it automatically adds the needed groups to the 
dropdowns.
_Removing a group_ : Simply remove any keys or passwords for that group and save 
the file. When it is re-loaded the group will no longer be available. If you 
remove all of the groups, the default set of groups will be re-added when the 
file is loaded.

The DataGridViews will be sorted alphabetically (ascending) by group whenever you open a file,
save, print preview or print.

*This information is obsolete, please get the latest build you can find at the end of the thread*


----------



## W1zzard (Aug 27, 2010)

if it wasnt from you i'd think this is some key phishing utility


----------



## Kreij (Aug 27, 2010)

W1zzard said:


> if it wasnt from you i'd think this is some key phishing utility



No, it's safe. Does not transfer anything or "call home".


----------



## JATownes (Aug 27, 2010)

Just grabbed a copy.  This is a great idea, as I too am always looking for those damn keys I lose.


----------



## Kreij (Aug 27, 2010)

JATownes said:


> Just grabbed a copy.  This is a great idea, as I too am always looking for those damn keys I lose.



Be careful with it, and test it first. I would hate to have you put in dozens of keys and find out a bug in the program corrupted the file or something. I also cannot guarantee the next couple of versions will be encryption compatible.


----------



## KainXS (Aug 27, 2010)

I'd hate to put dozens of keys in to find out someone else was using them. . . . . . . .


----------



## JATownes (Aug 27, 2010)

Just tested it with a couple of keys, and it appears to function correctly.  The backup function also created a backup set on my external.  Works great so far.  I will let you know if I have any issues.  The only thing I noticed that did not work as I expected was when I enter the password and hit "Tab" to jump to the "Pin#" box, it jumps to the "OK" button instead.  Not a big deal, I can just use the mouse to click the "Pin#" entry box.  I just noticed because I am a heavy keyboard user.

Great little prog that serves a nice purpose.  Thanks Kreij


----------



## cadaveca (Aug 27, 2010)

Good idea...now jsut need it cloud-based, so that you can retreive the data from anywhere, kinda like STEAM, or what have you.


Of course, I do understand what a security risk that would impose...


----------



## qubit (Aug 27, 2010)

I've been using the excellent open source KeePass password manager for years. You may want to have a look at it, for ideas on how to make yours even better. In particular, you may want to look at the encryption algorithm and its implementation, as it's really strong.

www.keepass.info

Or on Sourceforge:

http://sourceforge.net/projects/keepass/

EDIT: Key-Z, Good name.


----------



## JATownes (Aug 27, 2010)

Ok.  After a reboot everything worked fine.  So I copied the keydata.dat file and the Key-Z utility to a flash drive and moved them to a Windows XP-32bit machine I have here.  I transferred the keydata.dat file where I wanted it, then when I ran Key-Z I pointed to that location.  It immediately asked for my PW and PIN#.  Once I input the information, it pulled up my keys.

So for me, it worked to transfer to different machines, and it appears to run correctly on Win7 64-bit and WinXP 32-Bit.


----------



## Completely Bonkers (Aug 27, 2010)

Nice.

I've been using _password agent _FOR YEARS. Take a look. It might give you some encouragement + ideas.
http://www.moonsoftware.com/pwagent.asp

Also take a look at shell tools, same website. Quite handy.


----------



## DonInKansas (Aug 27, 2010)

W1zzard said:


> if it wasnt from you i'd think this is some key phishing utility





Kreij said:


> No, it's safe. Does not transfer anything or "call home".



Either that or Kreij is so good he hid it so no one can find it.


----------



## Solaris17 (Aug 27, 2010)

the segments have no limit so an entire key can be pasted into one segment.

recommendation have # of seg and # of char per seg. and the ability to set those and then copy paste and have it auto parse into their respective segments.

Also Pass and Pin are visible could you add a check box to that so you can see it or hide it with **'s (default?)

hitting TAB on the pass/pin window auto brings you to apply instead of pin. maybe out of order?


----------



## streetfighter 2 (Aug 27, 2010)

Oh god, I've been using notepad....  Usually with really inconspicuous file names like, "Barbies_Fantastic_Adventure_CD-key,_my_SSN,_my_credit_card_numbers_and_pictures_of_me_naked_in_ASCII.txt"

Also this program is in .NET, which for unknown reasons scares the hell out of me.  It's probably because it's new and useful.  I like old reliable things that weigh several thousand pounds (or stones if you're British).


----------



## Kreij (Aug 27, 2010)

streetfighter 2 said:


> Oh god, I've been using notepad....  Usually with really inconspicuous file names like, "Barbies_Fantastic_Adventure_CD-key,_my_SSN,_my_credit_card_numbers_and_pictures_of_me_naked_in_ASCII.txt"



I almost spit my beer on the keyboard. Thanks. 

Fixes suggested almost done. New version shortly.


----------



## Phxprovost (Aug 27, 2010)

no offense to the OP but why not just use an encrypted text file?


----------



## Kreij (Aug 27, 2010)

Phxprovost said:


> no offense to the OP but why not just use an encrypted text file?



Too easy. 
... and I needed a coding project to keep myself happy.


----------



## Kreij (Aug 28, 2010)

New version available. Version 1.0.1
See changelog in OP for fixes.

Still working on Sol's paste issue.


----------



## JATownes (Aug 28, 2010)

Changes work great.  Thanks, this will come in very handy.


----------



## Solaris17 (Aug 28, 2010)

good stuff kreji much appreciated im sure going to be using this. im old school i ACTUALLY still physically move to find boxes. imagine that.


----------



## Kreij (Aug 28, 2010)

I'm working on plain text import/export functions so data can be transfered between versions.
This may break v 1.0.1 data, so be aware. I'll try not to do that. (no promises though).


----------



## erocker (Aug 28, 2010)

Solaris17 said:


> good stuff kreji much appreciated im sure going to be using this. im old school i ACTUALLY still physically move to find boxes. imagine that.



I'm in the ancient school. I use a thing called a pen and this barbaric thing called paper to write the codes on. Crazy stuff!

Joking aside (even though I'm being serious) Key-Z does work very well! Thanks Kreij!


----------



## Kreij (Aug 28, 2010)

Note to self : Add print function for Erocker. (seriously, that not a bad idea)


----------



## erocker (Aug 28, 2010)

Kreij said:


> Note to self : Add print function for Erocker. (seriously, that not a bad idea)



Very good idea!


----------



## DannibusX (Aug 28, 2010)

Kreij said:


> Note to self : Add print function for Erocker. (seriously, that not a bad idea)



For erocker?  I don't think my printer can do crayon.

Edit:

Oh, and thanks Kreij.  I'll take a look at it in a little while.  Cool little app idea.


----------



## Kreij (Aug 28, 2010)

DannibusX said:


> For erocker?  I don't think my printer can do crayon.
> 
> Edit:
> 
> Oh, and thanks Kreij.  I'll take a look at it in a little while.  Cool little app idea.



I'll make it do crayon in the code. No big deal.


----------



## Solaris17 (Aug 28, 2010)

erocker said:


> I'm in the ancient school. I use a thing called a pen and this barbaric thing called paper to write the codes on. Crazy stuff!
> 
> Joking aside (even though I'm being serious) Key-Z does work very well! Thanks Kreij!


----------



## Easy Rhino (Aug 28, 2010)

Solaris17 said:


> http://ffe.tpucdn.com/forums/customavatars/avatar14803_37.gif



no you!


----------



## Kreij (Aug 28, 2010)

Version 1.0.2 available. See change log in OP for details.

Note : You can right-click and select past in the 1st segment TextBox to paste a key from the clipboard. 
The key that was copied to the clipboard must be dash delimited (ie. xxxxx-xxxxx-xxxxx)
The program will automatically set the number of segments and viewable TextBoxes, so after pasting they key you can just pick a group and type in the name.
Ctrl-V and Shift+Ins will not work correctly, yet. (I'm working on that.)

I have the code for a print function at work which I wrote for Ford's Nettool utility.
I will add that later. No use re-inventing the wheel.

Should the export file be deleted after a successful import since it's plain text (not encrypted)?


----------



## Solaris17 (Aug 28, 2010)

Kreij said:


> Version 1.0.2 available. See change log in OP for details.
> 
> Note : You can right-click and select past in the 1st segment TextBox to paste a key from the clipboard.
> The key that was copied to the clipboard must be dash delimited (ie. xxxxx-xxxxx-xxxxx)
> ...



not imo. though it could be a huge security issue. in the event that you forget the pin or pass it would not be good to lose the collection of keys.

you could have a prompt though after the import asking if they would like the txt file deleted though. leave it up to user descresion maybe with a quick sentence or 2 withint the prompt explaining the risk of unencrypted data.


----------



## Kreij (Aug 28, 2010)

Having the contents of the encrypted file hanging around un-encrypted defeats the whole purpose for encrypting the data in the first place. :/

Maybe add password and pin number hint phrases to assist in remembering them?


----------



## Solaris17 (Aug 28, 2010)

Kreij said:


> Having the contents of the encrypted file hanging around un-encrypted defeats the whole purpose for encrypting the data in the first place. :/
> 
> Maybe add password and pin number hint phrases to assist in remembering them?



thats a possibility see edit: Thats why i had originally inquired about a check box to enable/disable masked password/pin entry. if your typing fast you may not notice a typo. so that could easily ruin your day. The ability to mask them was a suggestion incase people were in teh room. No one is going to memorize my vista keys in 10seconds. However the passwords/pins that people use would be far more easy to get ahold of. Thats why i was thinking enable the checkbox by default. but have the ability to unmask the fields. This would take care of most of the issue I think. Of course I have a serious migraine condition and currently my meds are making me feel like cotton fluff. So their is a possability non of that made any sense.


----------



## Kreij (Aug 28, 2010)

Hmmm ... having the ability to unmask the PW & PIN would not help if you can't remember it.
I think most people are pretty used to masked password fields.

Anyone else have any thoughts on this?
Take your time, I completely hosed v 1.0.3 by moving the encryption/decryption methods to a static class and trying to bind the grid to a DataSet for more control over layout ability.


----------



## Solaris17 (Aug 28, 2010)

Kreij said:


> Hmmm ... having the ability to unmask the PW & PIN would not help if you can't remember it.
> I think most people are pretty used to masked password fields.
> 
> Anyone else have any thoughts on this?
> Take your time, I completely hosed v 1.0.3 by moving the encryption/decryption methods to a static class and trying to bind the grid to a DataSet for more control over layout ability.



Ill just fall back on telling them the risks and deleting the file. I suppose your right. Its a password protected key encryptor common sense should stand in and do all the explaining necessary if you manage to forget your pass or leave an unencrypted file.

Also spell check is amazing thank you chrome. i butchered this entire paragraph. time to sleep the meds off. have fun kreji.


----------



## Easy Rhino (Aug 28, 2010)

i'm like erocker. i am ancient school. i write all my keys down on a piece of paper and keep it in a drawer for when i need them and where some internet hacker can't possibly get to them unless he/she breaks into my house


----------



## Kreij (Aug 28, 2010)

Version 1.0.3 available. See change log in OP.

Off to company picnic for free beer and food. Have fun all.

@Easy. That's why I added backup ability. So you can put the file on a flash drive and take it with you incase the house burns down.


----------



## Easy Rhino (Aug 28, 2010)

Kreij said:


> Version 1.0.3 available. See change log in OP.
> 
> Off to company picnic for free beer and food. Have fun all.
> 
> @Easy. That's why I added backup ability. So you can put the file on a flash drive and take it with you incase the house burns down.



ok that is a good idea since i dont own a fireproof safe!


----------



## ShiBDiB (Aug 28, 2010)

in before this costs $5 to purchase from a ghetto website


----------



## char[] rager (Aug 29, 2010)

I downloaded and ran Key-Z_1.0.3 and I successfully completed all of the options.

I go to add a utility, type in the program name, and fill all five segments with the five segment activation key, when I click "Add Key" and:



> See the end of this message for details on invoking
> just-in-time (JIT) debugging instead of this dialog box.
> 
> ************** Exception Text **************
> ...



Also, you should change your form border style to fixed 3D or fixed dialog, so that users will not be able to change the window size of the program and mess up the buttons and stuff.


----------



## 3volvedcombat (Aug 29, 2010)

You know what would be cool.

If you can slam the program up with some search feature to find the keys itself automaticly? 

I dont think it would be worth your time to change the key "z" program up like that- because there are steam games- anti-virus that will get bitchy and other things

But it would be 20 times better if i could download this to a usb drive

Open it, run it, and it will find all the keys in basic program directories as a OPTION, not forced, but the user will have a option button that says "Automatic key-finder" or "Manual Insert" 

If you get my drift  

*continues playing dirt 2!*


----------



## Solaris17 (Aug 29, 2010)

char[] rager said:


> I downloaded and ran Key-Z_1.0.3 and I successfully completed all of the options.
> 
> I go to add a utility, type in the program name, and fill all five segments with the five segment activation key, when I click "Add Key" and:
> 
> ...



^ This can be replicated.

Downloaded 1.0.3 it opened my old file (not sure if related) i right clicked on my key and got the following.


```
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: Column named Application cannot be found.
Parameter name: columnName
   at System.Windows.Forms.DataGridViewCellCollection.get_Item(String columnName)
   at Key_Z.Form1.keyDataGridView_CellMouseUp(Object sender, DataGridViewCellMouseEventArgs e)
   at System.Windows.Forms.DataGridView.OnMouseUp(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.DataGridView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4952 (win7RTMGDR.050727-4900)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
Key-Z
    Assembly Version: 1.0.3.0
    Win32 Version: 1.0.3.0
    CodeBase: file:///C:/Users/Administrator/Downloads/Key-Z_1.0.3.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Data
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_64/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
ujuj-9g1
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
```

This one can be replicated also. I was tooling about and right clicked on a segment. Then i tried right clicking on name. Thats when I get the following.


```
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: Value of '376' is not valid for 'Value'. 'Value' should be between 'Minimum' and 'Maximum'.
Parameter name: Value
   at System.Windows.Forms.NumericUpDown.set_Value(Decimal value)
   at Key_Z.Form1.keySeg1TextBox_MouseUp(Object sender, MouseEventArgs e)
   at System.Windows.Forms.TextBoxBase.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4952 (win7RTMGDR.050727-4900)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
Key-Z
    Assembly Version: 1.0.3.0
    Win32 Version: 1.0.3.0
    CodeBase: file:///C:/Users/Administrator/Downloads/Key-Z_1.0.3.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Data
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_64/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
gqz1mgdk
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
```

May I recommend the ability to be able to change what "group" a key is in after a key has been entered?

Also instead of clicking save and then exit on the group creation screen can the group creation screen disappear and simply bring you back to the application? I think im going to go to bed. But I'll beat on it more later. Or perhaps even a tad more tonight.

o and JFF your next contest should be designing a program icon. for this particular program.


----------



## Kreij (Aug 29, 2010)

My bad, I was running late yesterday and pushed out 1.0.3 a little too soon. HEY I feel like a game developer 

You should be able to change the group a key is in by double-clicking on the grid row and then updating it. I check this before 1.0.4 goes live.

I like the contest idea Sol.


----------



## Mussels (Aug 29, 2010)

nice idea, although as a heavy steam user, i am unlikely to need it.


----------



## Kreij (Aug 29, 2010)

3volvedcombat said:


> You know what would be cool.
> 
> If you can slam the program up with some search feature to find the keys itself automaticly?
> 
> ...



Sorry 3volved ... you lost me. Can you explain that in more detail?

Version 1.0.4 available. Change log in OP.


----------



## Kreij (Aug 29, 2010)

@Solaris ... both of the problems you listed will be fixed in 1.0.5

Any other problems or ideas before I toss out another release?


----------



## Solaris17 (Aug 29, 2010)

Kreij said:


> @Solaris ... both of the problems you listed will be fixed in 1.0.5
> 
> Any other problems or ideas before I toss out another release?



nope havent found anything else on this end.


----------



## Kreij (Aug 29, 2010)

Version 1.0.5 available. See change log in OP.

I added a "Find Name" TextBox that will filter the viewed keys based on what you type in, in case you add lots of keys and want to find one easier.


----------



## Solaris17 (Aug 29, 2010)

Double clicking on the groups/name/activation/ tab (one key in prog) gives me this.

Right clicking on these gives me the same error instantly.


```
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.Collections.ArrayList.get_Item(Int32 index)
   at System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
   at System.Windows.Forms.DataGridView.get_Item(String columnName, Int32 rowIndex)
   at Key_Z.Form1.keyDataGridView_CellContentDoubleClick(Object sender, DataGridViewCellEventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.DataGridView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4952 (win7RTMGDR.050727-4900)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
Key-Z
    Assembly Version: 1.0.5.0
    Win32 Version: 1.0.5.0
    CodeBase: file:///C:/Users/Administrator/Downloads/Key-Z_1.0.5.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Data
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_64/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
vikmgqpk
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
```

This error for last time is still presetn. It happens when right clicking on the name field (after right clicking on the segment 1 field) when the menu is still on screen.


```
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: Value of '376' is not valid for 'Value'. 'Value' should be between 'Minimum' and 'Maximum'.
Parameter name: Value
   at System.Windows.Forms.NumericUpDown.set_Value(Decimal value)
   at Key_Z.Form1.keySeg1TextBox_MouseUp(Object sender, MouseEventArgs e)
   at System.Windows.Forms.TextBoxBase.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4952 (win7RTMGDR.050727-4900)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
Key-Z
    Assembly Version: 1.0.5.0
    Win32 Version: 1.0.5.0
    CodeBase: file:///C:/Users/Administrator/Downloads/Key-Z_1.0.5.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Data
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_64/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
vikmgqpk
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
```

Thats all I can find. Would it be possible to impliment a delete button? I know that the DEL key is linked. and a button on the program may not be needed. But I only ask because it took me like 5min to figure out. Others may have a hardtime putting the pieces together.


----------



## Deleted member 74752 (Aug 29, 2010)

I still use notepad as well.


----------



## Kursah (Aug 29, 2010)

Awesome idea Kreij! I'll definitely get some use out of this, downloading now. I know it's very young so I won't completely depend on it, but this will definitely save me some serious hassles and I dig the security part of it. Again, awesome idea and nice work!


----------



## Kreij (Aug 29, 2010)

Found lingering bug in right-click code.

Cant' reproduce the second error. :/


----------



## Solaris17 (Aug 29, 2010)

Kreij said:


> Found lingering bug in right-click code.
> 
> Cant' reproduce the second error. :/



right click on segment field one. Then while the menu is still up. right click at the beggining of the name field.


----------



## Kreij (Aug 29, 2010)

I don't get an error. It does, however, paste the contents of the clipboard to the segment TextBoxes (which is not intended). 
Overriding the default copy and paste mechanisms is a bit tricky. I'll dig into to that.


----------



## freaksavior (Aug 29, 2010)

Mac version coming?


----------



## Kreij (Aug 29, 2010)

Send me a Mac and I'll be happy to port it.


----------



## Solaris17 (Aug 29, 2010)

at time of post processing ETA was 10min

http://www.youtube.com/watch?v=R_V39yKX6IY


----------



## Kreij (Aug 29, 2010)

I did exaclty what you did in the Vid, and no error. Can anyone else confirm this?
What OS, SP, Framework level Sol?


----------



## char[] rager (Aug 29, 2010)

Vista x64 Service Pack 2
.Net Framework 4 Client, Extended, and Multi-Target Pack

While I could not reproduce the unhandled exception Solaris17 found, I did find a bug while attempting to reproduce the unhandled exception found by Solaris17.

Assume that at this point, I have left my key segments at five, and have filled all five key segments, but have not yet clicked "Add Key."

*If I right-click the first key segment box, and then right-click the textbox for name, the key segments will revert to one and I will lose all of the keys and the boxes.*


----------



## Kreij (Aug 29, 2010)

That's because it is running the code to copy what is in the clipboard to the ky segments. If what is in the clipoard does not have any dashes in it, it will automatically paste the text into the fist box and reset the segment count to one. I will work on this.


----------



## freaksavior (Aug 29, 2010)

Kreij said:


> Send me a Mac and I'll be happy to port it.



Whats your address?


----------



## 3volvedcombat (Aug 29, 2010)

Kreij said:


> Sorry 3volved ... you lost me. Can you explain that in more detail?
> 
> Version 1.0.4 available. Change log in OP.



To explain simply.

Make it were the game finds the keys for the games you already have installed on your computer automaticly and inserts and saves them using the program.

I dont like looking for my booklets to keep track of keys

but it would be nice if this program can find the keys using the game data that ive already installed in the program, so i dont have to manually insert them!


----------



## Solaris17 (Aug 30, 2010)

Kreij said:


> I did exaclty what you did in the Vid, and no error. Can anyone else confirm this?
> What OS, SP, Framework level Sol?



Win 7 Pro X64
fully patched
framework 4.0

any idea on the right clicking on the group/type/key fields? I can try some things if youd like. I havent yelled at it yet. Ill try that next

EDIT:: yelling had 0 effect.


----------



## Kreij (Aug 30, 2010)

3volvedcombat said:


> To explain simply.
> 
> Make it were the game finds the keys for the games you already have installed on your computer automaticly and inserts and saves them using the program.
> 
> ...



That would mean someone would be able to take a USB stick and plug it into anyone's computer and pull all the keys the utility could find. Not a good idea. 

Forgot USB stick with latest source at home :/
If I have time, I'll go get it on my lunch break.


----------



## Kreij (Sep 1, 2010)

Version 1.0.6 available. 
Pasting into 1st key TextBox should work correctly with Ctrl-V, Shift-Ins and richt click context menu.


----------



## Solaris17 (Sep 2, 2010)

i still get an error when i right click on the groups/key boxes at the top of the grid. but im willing to bet it might be me at this point.


----------



## TIGR (Sep 2, 2010)

Solaris17 said:


> ....recommendation have # of seg and # of char per seg. and the ability to set those and then copy paste and have it auto parse into their respective segments.
> 
> Also Pass and Pin are visible could you add a check box to that so you can see it or hide it with **'s (default?)
> 
> hitting TAB on the pass/pin window auto brings you to apply instead of pin. maybe out of order?



+1 on all counts! I haven't downloaded it or read the whole thread, but automatically separating pasted keys into appropriate segments would be great.

I've long kept my own keys in a document, on an encrypted drive, because I can't count on myself not to lose whatever they're printed on, and for the convenience of being able to copy + paste. It's always a pleasant surprise when I only have to copy and paste into the window for whatever I'm installing once, and a noteworthy annoyance when I have to do it once per segment.

I'm a heavy keyboard user too, and intuitive movement through fields via "tab" makes a difference to me.


----------



## Kreij (Sep 3, 2010)

Solaris17 said:


> i still get an error when i right click on the groups/key boxes at the top of the grid. but im willing to bet it might be me at this point.



You were right-clicking on the DataGridView column header. 
Why didn't you say so??  I could not for the life of me get anything to fail until I accidentally click on the header and got the index out of range error.
That is corrected and will be in next version.
Thanks for not giving up on that Sol.  You're on the list of beta testers for the other new utility I'm working on too.

@TIGR : Everything that you quoted from Sol should be addressed already. Please try out the utility and let me know if something needs changing or improving upon.


----------



## pantherx12 (Sep 3, 2010)

Nice one Kreij, I'll stick to using my notepad file though XD


----------



## Kreij (Sep 3, 2010)

No problem, Panth, people should use whatever they like best. I just needed a new project to play with and thought some people may find it useful. 

Version 1.0.7 available.


----------



## jasper1605 (Sep 3, 2010)

Easy Rhino said:


> i'm like erocker. i am ancient school. i write all my keys down on a piece of paper and keep it in a drawer for when i need them and where some internet hacker can't possibly get to them unless he/she breaks into my house



unless you have a webcam available.  Some hackers are so good they can make the webcam move and it will find your drawer.....


----------



## grunt_408 (Sep 3, 2010)

This is a very good idea. I grabbed a copy


----------



## Solaris17 (Sep 3, 2010)

Kreij said:


> No problem, Panth, people should use whatever they like best. I just needed a new project to play with and thought some people may find it useful.
> 
> Version 1.0.7 available.



im loving it. thing works mint!

EDIT:: cant wait to try your new toy.


----------



## wiak (Sep 23, 2010)

https://spreadsheets.google.com


----------



## Radical_Edward (Sep 23, 2010)

I think I'm just going to have to give this a try. Quite a useful little program from the looks of it.


----------



## Solaris17 (Sep 23, 2010)

I really love this. Iv been using it its super sweet. IDR if I asked. but can i include this in version 5.0 kreij?


----------



## inferKNOX (Sep 23, 2010)

Looks good Kreij, will try it out.
I don't know if it would help, but you might want to check out Roboform (which is the best password manager, as far as I know, despite being for a somewhat different purpose) for ideas/etc.

EDIT: Bug found - added (only) one key, "111-222-333" under "Applications" group, then tried to deselect "Applications" from "Groups" menu, resulted in unhandled exception.
Also, do you think you could slim it down a bit in RAM? Process Explorer reports it to use about 19.5MB, and the responsiveness isn't quite what you'd expect for such a small app.
I'd like to recommend a 'comments' field, to allow one to differentiate in case they want to save several keys with the same name.
2nd recommendation, to arrange primarily alphabetically by Group, and secondarily alpabetically by Name.
Looking good otherwise! 

EDIT2:
3rd recommendation, when deleting a key, to make cursor jump to the previous "segment(s)" when deleting via backspace.
4th recommendation, have cursor jump to next "segment" when inputing a dash, ie, -


----------



## Solaris17 (Oct 30, 2010)

work on this!!!


----------



## TheMailMan78 (Oct 30, 2010)

PM sent Kreij


----------



## Kreij (Nov 11, 2010)

Sorry about the lack of information on the status of this utility.
A complete rework is in progress.

MailMan has graciously offered to take the graphics end of things under his wing, and I am working on reducing its footprint and giving it more functionality, much of it taken from your suggestions.

We are raising the bar from "nice" utility to "awesomesauce" utility. As always, suggestions are greatly appreciated. It all boils down to, "if you aren't happy, we're not happy".

We both have real lives to deal with, so please bear with us as we try to fit this project in when we are able.


----------



## Tyrael (Nov 11, 2010)

Nice Program! Tested on Windows 7 64Bit and it works fine... 

Edit: I will check on the memory usage...


----------



## Solaris17 (Nov 11, 2010)

Kreij said:


> Sorry about the lack of information on the status of this utility.
> A complete rework is in progress.
> 
> MailMan has graciously offered to take the graphics end of things under his wing, and I am working on reducing its footprint and giving it more functionality, much of it taken from your suggestions.
> ...



o sweet jesus. I thought you didnt post again and I was about to say kreij if you dont get in this thread so help me god!


----------



## Solaris17 (Apr 24, 2011)

reviving the dead demanding justice.


----------



## VulkanBros (Apr 24, 2011)

Nice utility Kreij.....and it works too  ...... 

I have been using Password Manager within Kaspersky PURE for a while, but for game keys KEY-Z seems way better..


----------



## TheMailMan78 (Apr 24, 2011)

Kreij said:


> Sorry about the lack of information on the status of this utility.
> A complete rework is in progress.
> 
> MailMan has graciously offered to take the graphics end of things under his wing, and I am working on reducing its footprint and giving it more functionality, much of it taken from your suggestions.
> ...



TheMailMan failed you all miserably.


----------



## Kreij (Apr 24, 2011)

Wrong MailMan, You didn't fail. You just procrastinated long enough for me to realize that the app needed to be better than what it was.


----------



## CrAsHnBuRnXp (Apr 24, 2011)

Just found this. When I get some time ill give it a test.


----------



## VulkanBros (Apr 24, 2011)

Small thing in the "not important" department ..... the tool needs an icon!


----------



## Brandenburg (Apr 24, 2011)

sub'd


----------



## CjStaal (Apr 27, 2011)

Sent you a PM with suggestions.


----------



## Kreij (Apr 27, 2011)

Okay gents, I've not given up on this utility, but it needs some major work, and I was swamped with coding where I work. That has ended so I have time to devote to this project as it seems there are people who are interested in it.

It worked fairly well, but "fairly well" does not even begin to cut it in my book. (I am my worst critic)

Icons and other visual features are at the bottom of the list. They will be addressed, but not before the functional code is 100%.


----------



## TheMailMan78 (Apr 27, 2011)

Kreij said:


> Okay gents, I've not given up on this utility, but it needs some major work, and I was swamped with coding where I work. That has ended so I have time to devote to this project as it seems there are people who are interested in it.
> 
> It worked fairly well, but "fairly well" does not even begin to cut it in my book. (I am my worst critic)
> 
> Icons and other visual features are at the bottom of the list. They will be addressed, but not before the functional code is 100%.



Yeah.....and by then I should be wide open. Been dealing with lifes curveballs lately.


----------



## Solaris17 (Apr 27, 2011)

hurray! i was a dick and got what i wanted!


----------



## Kreij (Apr 28, 2011)

Hurray for Solaris being a dick. He saved my project from extinction !! 

I'm back working on this as of now. I am incorporating the following into Key-Z
- Secure key storage (for apps, games, utilities, etc.)
- Strong password generation and secure storage (for websites, routers, etc.)
- Cryptographic hash creation and verification (for uploaded/downloaded files)

I'll update the OP with the new GUI and program information when I get more coded. (Some initial screens added to OP)
Anything else you gents want included?

PS. I'm gonna close the other thread on the password generator as it will be incorporated into Key-Z.


----------



## Solaris17 (Apr 28, 2011)

would you mind if i host or include iot on 5.0 of my dvd? Its only appropriate to ask the dev.


----------



## digibucc (Apr 28, 2011)

feature list in op?

is there an auto-copy feature?  as in have it automatically copy the serial/password selected in list view to the clipboard? and a separate field for username, for reference but not copied.
you could also have it save the link to the login screen with the password, so that clicking copies the password and double clicking opens the page in a browser.

*big plus *-  the ability to save the db via ftp, and load it via ftp or http.  that could essentially make it portable, as you could link it to the same db from multiple machines...


----------



## Kreij (Apr 28, 2011)

@Solaris : That would be fine, but let's wait until it's at least gets to an alpha build. 

@Digi : I'll put the feature list in the OP when I get farther on it. I completed the cryptographic hash section last night, and will be working on one of the other two today (most likely the password section as I forgot to name the original source of Key-Z so I can make the new version compatible. DOH ! )

The data file is completely portable. You can do whatever you want with it. Put on shared drive, flash drive, etc. etc.


----------



## digibucc (Apr 28, 2011)

Kreij said:


> The data file is completely portable. You can do whatever you want with it. Put on shared drive, flash drive, etc. etc.



how difficult would it be to get key-z to do that for you?  if it can save and load somewhere remote, it would be much more useful than having to upload the db every time i make a change...


----------



## Kreij (Apr 28, 2011)

digibucc said:


> how difficult would it be to get key-z to do that for you?  if it can save and load somewhere remote, it would be much more useful than having to upload the db every time i make a change...



Shouldn't be too hard. I'll look into it when the core coding is done.


----------



## Dippyskoodlez (Apr 28, 2011)

If you double click a category bar (to re-order them) and drop to re-order, it causes this



> See the end of this message for details on invoking
> just-in-time (JIT) debugging instead of this dialog box.
> 
> ************** Exception Text **************
> ...



Also, what about sub categories? I.e. Main category for windows, then one for windows XP, Windows Vista, Windows 7 etc.


----------



## Kreij (Apr 28, 2011)

Thanks for the debug info dippy. I'll make sure to retest that in the new code.
I can do sub-categories.

@inferKNOX :
recommendations #1 & #2 will be added. #3 and #4 are already coded.
@Digi:
Double clicking row copies key/password to clipboard is coded.
I will add auto-ftp in an upcoming release. 

I'll add sub-categories and comments tonight, and begin on the file encryption/decryption.

Question to all ... Is it imperative that the new version be able to read the old encrypted files? 
I want to change the encryption method as the first version was way overkill because I was playing with encryption coding. 

Is something like standard symmetric key encryption sufficient?
I can give you "perfect secrecy", impossible to crack files but it will take more time and make the utility less portable. I can also give you the choice, but that will mean a bit more time to first alpha release.

For reference ... odds of someone cracking an AES-256 encrypted file = virtually zero.
Using a one-time pad encryption technique, unless you have the key it is impossible to crack even with unlimited computing resources.

Sorry for the Wiki references, but they are easier to understand than the more technical ones.


----------



## FordGT90Concept (Apr 29, 2011)

Yes, AES/Rjindael is sufficient.  You're original was, without a doubt, overkill.  I doubt even CIA files are that encrypted. XD


On your screenshot of hashes, it looks like it only accepts a file.  Why not a string?  Most hashes can be created from any byte array, files and strings being the most common.


----------



## Kreij (Apr 29, 2011)

I didn't know if anyone had a use for that, Ford.
I know that the ability to check hashes against downloaded files to make sure they were not corrupt, and the ability to create a hash in case you wanted to put a file on the internet along with it's hash would be useful to people, but just strings?

Converting plaintext passwords to a hash for, say storage in a database is pretty common, but that is better suited for the application that accesses the database and not this little utility.

Input please.


----------



## TheMailMan78 (Apr 29, 2011)

Kreij said:


> I didn't know if anyone had a use for that, Ford.
> I know that the ability to check hashes against downloaded files to make sure they were not corrupt, and the ability to create a hash in case you wanted to put a file on the internet along with it's hash would be useful to people, but just strings?
> 
> Converting plaintext passwords to a hash for, say storage in a database is pretty common, but that is better suited for the application that accesses the database and not this little utility.
> ...



Also let me know what I need to do Kreij.


----------



## Kreij (Apr 29, 2011)

TheMailMan78 said:


> Also let me know what I need to do Kreij.



For starters we're going to need an icon for both the app and the desktop.
So a 16x16 for the app and a 48x48 for the desktop.
I was thinking of something maybe with a ... uh ... key. lol

Update : File encryption and decryption coding complete but not tested.
I'm using Rijndael (AES) with a 256 bit key.
It's a little more complicated than that as I am running your password through multiple iterations of a SHA-256 hash (with a random salt) to generate the key and using an algorith based on your PIN number to generate the initialization vector for the encryption.

So if someone was really determined to crack your file, they would have to brute force every possible combination of the 256 bit key (and try to guess the variable number of SHA iterations to get a valid derived key) against every possible combination of the initialization vector.
It would be far easier to just take someone you know hostage and ransom them for the info.

Question #1 :
Do you want secure wipe?
Let's say you are travelling through an airport (or you get busted somewhere) and they demand the password/PIN infromation. Secure wipe would allow you to give them an alternative pw/PIN that the application would take as the signal to present them with alternate information and do a secure wipe of the real data.
This could be useful if you are storing extremely sensitive information in this application.

Question #2 :
Last time I stored the data in a DataSet and then bound the DataGridViews to the dataset. This gave the app a larger memory footprint but more sort functionality.
I currently have it coded for direct access to the DataGridViews (no DataSets), but the sorting functionality of the DataGridViews is limited.
What do you guys want ... More sort functionality or smaller footprint?

Question #3:
How useful will sub-groups actually be?
It's simple to implement, but adds more rows to the DataGridView, so to see more you would have to streatch the app wider on the screen.
Again, I'll go with the consensus.

Question #4:
Still need answer on hashing for strings. Will anyone use that?


----------



## CrAsHnBuRnXp (Apr 30, 2011)

I know this is off topic but you mentioning secure wiping got me thinking, how come there really is no really good third party file shredder that also puts itself into the right click context menu? I mean sure there is the one in Tuneup Utilities, but Id rather have something that was exactly like the one Tuneup has but free and not bundled with other things that Tuneup has to offer.

Maybe that can be your next project? 

 You can call it the Crash and burn file shredder and have an animation of the files being put into a fire.


----------



## Kreij (Apr 30, 2011)

File shredding is not terribly difficult to do right.
Do you want a file shredding tab in this app too?


----------



## CrAsHnBuRnXp (Apr 30, 2011)

If you want to put it in the app or make it a sepearate app its totally up to you. At first it was just a statement on top of what you said in a previous post and then joked about it. I dont want you to take focus away from what you are doing with the app right now or waste your time.


----------



## Kreij (Apr 30, 2011)

CrAsHnBuRnXp said:


> waste your time



The desire to absorb information from every situation I am in, is what I thrive on.
Coding is the medium I use to relax and apply what I learn.
Passing it on to the next generation is what makes the above worthwhile.

If you feel that something is a waste of your time, you are not paying enough attention.

Just a little advice from yer old Uncle Kreij.


----------



## CrAsHnBuRnXp (Apr 30, 2011)

I feel as though i just got shot by that sniper in your avatar. 

Anyway since youre up for it, You can either include it in your key app or as a separate app all together. Ill leave it up to you to decide. The are two things I really want from it:

1. Have an option in the right click context menu to which I can select the file shredder when I select a file/folder for shredding

2. I want the option to have secure deletions in accordance with the DoD 5220.22 and the Gutmann method with the ability to choose the number of repetitions of the predetermined secure file shredding method.

Thanks!


----------



## Kreij (Apr 30, 2011)

If you want the ability to nuke files from the context menu in Windows Explorer, then this application is not the place for it. It would make an install mandatory and completely destroy the portability of the app.


----------



## CrAsHnBuRnXp (Apr 30, 2011)

Kreij said:


> If you want the ability to nuke files from the context menu in Windows Explorer, then this application is not the place for it. It would make an install mandatory and completely destroy the portability of the app.



Like I said your call.


----------



## Solaris17 (Apr 30, 2011)

Kreij said:


> For starters we're going to need an icon for both the app and the desktop.
> So a 16x16 for the app and a 48x48 for the desktop.
> I was thinking of something maybe with a ... uh ... key. lol
> 
> ...



random stuff to allow posting


----------



## Kreij (May 2, 2011)

Thanks Sol.
For secure wipe I'll make it optional. I don't want to make the wipe key(s) the same for everyone, so you will have to chose a password and PIN for wipe the same as you would for general access to the data.
Remember, if you accidentally type in your wipe key(s) instead of your access key(s), it's bye bye data.


----------



## Solaris17 (May 4, 2011)

sounds good man im looking forward to the first iteration with the new options.


----------



## TheMailMan78 (May 4, 2011)

Can you send me a PM with a list of what I need to do? It will help me plan out an over all "feel".


----------



## Kreij (May 4, 2011)

Sure MM. I'll get a PM off to you shortly.

Hopefully I will get a chance to work on more coding today too.


----------



## Aceman.au (May 5, 2011)

KainXS said:


> I'd hate to put dozens of keys in to find out someone else was using them. . . . . . . .



Run it in a sandbox and monitor outbound connections if u think it's sus.


----------



## Kreij (May 6, 2011)

Alpha release soon. I just need to finish up initial testing and write up a help file.


----------



## Solaris17 (May 17, 2011)

Kreij said:


> Alpha release soon. I just need to finish up initial testing and write up a help file.



hurray!


----------



## Kreij (May 18, 2011)

Okay, I added the secure wipe, was not happy with it and removed it. I'm pondering if this is even worthwhile as the encryption is virtually impossible to break and a secure wipe will not stand up under HDD forensics if they really want the raw encrypted data. I will look into this more soon. I'm thinking instead of a secure wipe, more of a "smoke screen".

I ditched the whole "add/delete" a group. The program will now save/create groups based on what you either select for the group or type in the datagrid itself. This way if you do not want a group anymore, just do not create any entries in that group and it will disappear. If you want it back, create an entry of any group type and change it to what you want in the data grid. The group will then be added to the group dropdown combobox.

Import and export not implemented yet. I'm still pondering the options, features and drawbacks of this.

When entering a key, hitting the "-" will advance you to the next segment textbox, using backspace key will pop you back to the previous textbox once a segment is empty.

Pasting a "-" delimited key into the first textbox automagically will spread the key across the number of needed boxes. I'm thinking of completely removing the segment numeric entry as I think we can determine that by entry and you should not have to set it manual. Just type of paste. I'm pondering the GUI look for this so it's a little more intuitive when you are doing it.

Double clicking on any row copies the key or password to the clipboard for pasting somewhere else.

I was finalizing some testing today at work, and the encryption/decryption seems stable, as does the password generation and hashing section.

I will be releasing a "Pro" version for $49.99 that will not send your e-mail address to the spammers in Nigeria.


----------



## Solaris17 (May 18, 2011)

Kreij said:


> Okay, I added the secure wipe, was not happy with it and removed it. I'm pondering if this is even worthwhile as the encryption is virtually impossible to break and a secure wipe will not stand up under HDD forensics if they really want the raw encrypted data. I will look into this more soon. I'm thinking instead of a secure wipe, more of a "smoke screen".
> 
> I ditched the whole "add/delete" a group. The program will now save/create groups based on what you either select for the group or type in the datagrid itself. This way if you do not want a group anymore, just do not create any entries in that group and it will disappear. If you want it back, create an entry of any group type and change it to what you want in the data grid. The group will then be added to the group dropdown combobox.
> 
> ...



lolod and im pumped if you need debugging or w/e lmk. any ideas toss me an alpha and pm me.


----------



## Kreij (May 18, 2011)

Okay here is version 0.0.1
.Net Framework 4 is required.


----------



## digibucc (May 18, 2011)

testing today


----------



## Solaris17 (May 18, 2011)

{General Bugs}

No options? Or are you trying to keep us from stealing pro?

also. under cryptographic hashes attempting to simply hit "generate hash" without entering anything the program gets pissed.



Spoiler





```
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: Empty path name is not legal.
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
   at System.IO.FileStream..ctor(String path, FileMode mode)
   at Key_Z.Utils.GenerateMD5(String Filename, Boolean IsString)
   at Key_Z.Form1.generateHashButton_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.225 (RTMGDR.030319-2200)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Key-Z
    Assembly Version: 0.0.1.0
    Win32 Version: 0.0.1.0
    CodeBase: file:///E:/User/Downloads/Key-Z_0_0_1.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
```




Hitting continue allows the program to operate as normal. 

* The Key blocks do not have a character limit.

* Clicking the "*" button under the groups screen and then clicking a button such as "group" "application" or "key" while everything is highlighted produces the following error. (It also does it not highlighted or selected when you simply press the groups with nothing their.)



Spoiler














Spoiler





```
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.Collections.ArrayList.get_Item(Int32 index)
   at System.Windows.Forms.DataGridViewRowCollection.SharedRow(Int32 rowIndex)
   at System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
   at Key_Z.Form1.keysDataGridView_CellClick(Object sender, DataGridViewCellEventArgs e)
   at System.Windows.Forms.DataGridView.OnCellClick(DataGridViewCellEventArgs e)
   at System.Windows.Forms.DataGridView.OnMouseClick(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.DataGridView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.225 (RTMGDR.030319-2200)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Key-Z
    Assembly Version: 0.0.1.0
    Win32 Version: 0.0.1.0
    CodeBase: file:///E:/User/Downloads/Key-Z_0_0_1.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
```




This same error happens on the passwords tab.

{General additions}

* "Working" dots or orb (preferablly orb) when Generating hash.
*  Multi core capable?

{Random BS I might want added for the lolz or ideas}

When exporting or importing (which I hope is implimented) couldnt you just do it as an .xml but inside a zipfile that you need to have a password for? or is that illegal to do? Either way i think it would solve both problems. Also I have an intedrestin request about the method in which something may be exported.

I think instead of dumping EVERYTHING. Yopu might have a Tree like the windows registry. then you can pick

Keys>
      >Group 1
      >Group 2
Passwords>
      >Group 1
        >>My ex's bank account
      >Group 2
        >>My FB login

Export Keys/Pass? Group 1/2? Then you can come up with some prompt that dumping your lists to XML is potentially unsafe and therefor not recommended. As your lists are not encrypted and if lost your data can be stolen. If the zip method cant be done. Holler at me your good at code MM is good at arty but im very good at writing if you look past TPU and a KB. If you need some kind of disclaimer i can knock one up.

Get it "knock"? password program lololololol oh man too much D&D

Windows 7 Pro X64
All updates / .nets

I will test more later when I have more time.


----------



## Kreij (May 18, 2011)

Solaris17 said:


> No options? Or are you trying to keep us from stealing pro?



I had the secure wipe there orginally. I left it because there will almost certainly be options in the near future.



> also. under cryptographic hashes attempting to simply hit "generate hash" without entering anything the program gets pissed.



Fixed.



> * The Key blocks do not have a character limit.



As per design. I have no idea how long a key segment may be.
Some are quite long.



> * Clicking the "*" button under the groups screen and then clicking a button such as "group" "application" or "key" while everything is highlighted produces the following error. (It also does it not highlighted or selected when you simply press the groups with nothing their.)



Fixed.



> * "Working" dots or orb (preferablly orb) when Generating hash.



I can add a progress indicator of some sort.



> *  Multi core capable?



For what specifically?



> When exporting or importing (which I hope is implimented) couldnt you just do it as an .xml but inside a zipfile that you need to have a password for? or is that illegal to do? Either way i think it would solve both problems. Also I have an intedrestin request about the method in which something may be exported.
> 
> I think instead of dumping EVERYTHING. Yopu might have a Tree like the windows registry. then you can pick
> 
> ...



Import/Export suggestion noted and under consideration.


----------



## Solaris17 (May 19, 2011)

I only suggested multi core because when i hash my utility dvd iso's their 8GB or so in size so it usually locks the program (havent tried yours yet) or can take some minutes.


----------



## Kreij (May 19, 2011)

Since the hash algorithms use a stream for input I'm not sure if I can break it into chucks and multi-thread it. I'll look into it. 

I coded a progress indicator and it was epic fail. lol
It should be done tomorrow since I found my "Write good threaded code hat" and put it on.


----------



## Solaris17 (May 19, 2011)

Kreij said:


> Since the hash algorithms use a stream for input I'm not sure if I can break it into chucks and multi-thread it. I'll look into it.
> 
> I coded a progress indicator and it was epic fail. lol
> It should be done tomorrow since I found my "Write good threaded code hat" and put it on.



something simple maybe? like a .giof that is displayed when it starts and exited when it stops?

like so. this is what i ment by orb but i was thinking ps3 i suppose its more of a circle.


----------



## Kreij (May 19, 2011)

Yeah, I can do that. The problem I had was going brain dead and trying to cross-access things from threads when I know better than to try that. lol


----------



## Solaris17 (May 19, 2011)

the simplest methods are often well simple and all that is needed


----------



## Kreij (May 19, 2011)

It's a simple thing, I was just trying to cram a little coding in before the end of the day at work.
Didn't work as planned, and I didn't want to be late for going home. 
I didn't take the code home with me as I really had more interesting in relaxing and drinking beer tonight than thoughtful code development.
Sometimes you just need to trade APIs for malt and hops.


----------



## Kreij (May 19, 2011)

Here's version 0.0.2 for you all to beat up on.

Fixes for the problems Sol found, and a busy indicator when hashing.

For next version I added a label to display the time it takes to create the Cryptographic hash.
The hasher does run in a seperate thead than the app, so the system may utilize another core to run it.
My rig (in specs) did a 4.5GB mpeg in 52 seconds.

Still pondering import/export.
What do we need import and export for? Why would you want to do that?  It sort of defeats the whole concept of being "secure".
Input please.

More ideas also, please.

Original Key-Z exe and images pulled from OP. 
Updates to OP when it's reasonably stable and has most of the features.

@Digi : I have not forgotten about your save/load from FTP suggestion. Looking into best approaches.


----------



## Kreij (May 21, 2011)

I'll put 0.0.3 out in a few days. I'm still looking into stuff.
I would also like input for the import/export.


----------



## Solaris17 (May 21, 2011)

Import/Export throw an error about not being implemented. Other then that im having a hard time finding things wrong though i can do more testing at a later date. Perhaps make im/ex into simple menu items so when you click on them nothing happens until implemented?

The reason i think import/export is a good idea is because others like myself want physical copies in an easy place. For example I have all my keys on a notpad doc. But Iv also printed it and keep it in a safe with my other important documents. This way if my HDD fails I lose a box to a basement flood or otherwise dont have access to the original source and or machine failure i Have the paper with the keys on it. Just because exporting isnt safe doesnt mean that the kes still arent secured ya know? sure someone might be able to high jack your program if you leave it open jack your keys and run off but they could do that anyway if your already in it. even with or without import export the ability to write down keys isnt gone.


----------



## Kreij (May 28, 2011)

Here's version 0.0.3

Just added the hash time and versioning in the titlebar.

Still pondering Imp/Exp.
Don't really see the benefit of an import as if you have a backup of the key-z file you can just use that (which also negates the need for an export).

Maybe just a print option for a hard copy instead of Imp/Exp?
Also, an automatic backup of the key-z file to a secondary location if you have one set?


----------



## Solaris17 (May 31, 2011)

thats a good point id personally be ok with that.


----------



## Kreij (Jun 1, 2011)

Print engine is almost complete. It's a little rough, but I can make it purdy™ after it gets some stability testing on a variety of printers (that means you guys. lol)
I'll also add the option for a secondary backup when data is saved.

Any more suggestions?


----------



## Solaris17 (Jun 1, 2011)

ill certainly play with it and give opinions.


----------



## Kreij (Jun 1, 2011)

I never realized the personal cost of writing a utility. :/
Not for coding or testing ... for the beer !!

Next version up in a day or two.


----------



## Solaris17 (Jun 2, 2011)

Kreij said:


> I never realized the personal cost of writing a utility. :/
> Not for coding or testing ... for the beer !!
> 
> Next version up in a day or two.



for me its ciggz. trying to find a comma can take almost 2 packs!


----------



## Kreij (Jun 2, 2011)

Here's version 0.0.4
Added a print preview and print option (It's pretty crude at the moment, please test).
Added "Set Backup Dir" under the options menu item so you can set a secondary save location for the output file.

A big thanks to Sol for the icon !


----------



## Solaris17 (Jun 2, 2011)

works mint prints fine havent found any bugs other then random UI stuff.

other then  the help menu no complaints seems to be working fine.


----------



## Kreij (Jun 2, 2011)

The missalignment is only on the "new row". This shows up even in VS when editing. It's the default DataGridView settings for that class. Must be a MS "feature".

I think what you are seeing in the other picture is the grabber bar to resize the row header column horizontally. Another "feature"? lol

Sol, did you try generating a hash for your whole DVD? How long did it take?
I can't seem to find a good way to accurately mutli-thread that.


----------



## Solaris17 (Jun 2, 2011)

Kreij said:


> The missalignment is only on the "new row". This shows up even in VS when editing. It's the default DataGridView settings for that class. Must be a MS "feature".
> 
> I think what you are seeing in the other picture is the grabber bar to resize the row header column horizontally. Another "feature"? lol
> 
> ...



it took 1:23sec for the ultimate ed (8GB) CPU usage never went above 7% and the app didnt make a second process.

Interestingly enough though. I had some problems running it. I had to click browse and generate a few times before it would do anything. Though it seems to be working now. I di fin an interesting problem though thrugh further testing. hitting cancel irritates it.



Spoiler





```
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.InvalidOperationException: This BackgroundWorker states that it doesn't support cancellation. Modify WorkerSupportsCancellation to state that it does support cancellation.
   at System.ComponentModel.BackgroundWorker.CancelAsync()
   at Key_Z.Form1.cancelHashButton_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.225 (RTMGDR.030319-2200)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Key-Z
    Assembly Version: 0.0.4.0
    Win32 Version: 0.0.4.0
    CodeBase: file:///E:/User/Downloads/Key-Z_0_0_4.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
```




that happened when trying to cancel the op


----------



## Kreij (Jun 2, 2011)

The hashing runs in another thread (as you can see by the error you got), but doesn't re-launch another process.

Fixed the cancelling problem. I was going to use thread reporting for the busy wheel and then decided against it, so I shut off report progress and must have turned off "supports cancelling" accidentally too. DOH !!


----------



## Solaris17 (Jun 2, 2011)

Kreij said:


> The hashing runs in another thread (as you can see by the error you got), but doesn't re-launch another process.
> 
> Fixed the cancelling problem. I was going to use thread reporting for the busy wheel and then decided against it, so I shut off report progress and must have turned off "supports cancelling" accidentally too. DOH !!



well if its all fixed up then knock up a help and about and this should be golden. iv beat the shit out of it and cant find anything else


----------



## CrackerJack (Jun 2, 2011)

Neat Tool Kreij! 

@Sol's Problem, That error shows a backgroundworker error.. due to cancellation not being enabled.

edit: lol sorry slow post


----------



## Kreij (Jun 2, 2011)

Any thought on how to do a help file? Windows Help suck harder than a hooker on steroids.


----------



## Solaris17 (Jun 2, 2011)

Kreij said:


> Any thought on how to do a help file? Windows Help suck harder than a hooker on steroids.



hmmmm maybe integrate your own HTML Esq type of page?


----------



## CrackerJack (Jun 2, 2011)

Solaris17 said:


> hmmmm maybe integrate your own HTML Esq type of page?



good idea... or use PDF.


----------



## Kreij (Jun 2, 2011)

Hmmm ... PDF would look nice, but would mean another file to tag along with the app. I'd rather avoid that as it makes it less portable.
Maybe just a rtf in a pop-up window.
Maybe just put the usage directions in the OP of this thread and link to it? (I'd have to clear that with W1zz though)
I'd like to keep the app as small as possible.

@Sol ... I forgot you sigged my bratwurst line. lol You're always welcome to come to WI for beer and brats anytime.


----------



## CrackerJack (Jun 2, 2011)

Kreij said:


> Hmmm ... PDF would look nice, but would mean another file to tag along with the app. I'd rather avoid that as it makes it less portable.
> Maybe just a rtf in a pop-up window.
> Maybe just put the usage directions in the OP of this thread and link to it? (I'd have to clear that with W1zz though)
> I'd like to keep the app as small as possible.



Well I was thinking along the line of embedded, Which shouldn't make it much larger (file size) depending on overall size of the PDF.


----------



## Kreij (Jun 2, 2011)

I thought of that CJ, but then if I wanted to modify the help file I would have to re-release a version just for that.
I would also have to do that with a RTF window, that's why I was leaning toward a link to somewhere.


----------



## CrackerJack (Jun 3, 2011)

Kreij said:


> I thought of that CJ, but then if I wanted to modify the help file I would have to re-release a version just for that.
> I would also have to do that with a RTF window, that's why I was leaning toward a link to somewhere.



 yea i didn't think of that.. Sol might be able to help you out on a location


----------



## Kreij (Jun 3, 2011)

W1zz might not mind either, it's a little traffic generator.


----------



## Solaris17 (Jun 3, 2011)

i dont think an embedded RTF would be a problem. just make sure its thurough and by the next program release you can update it with all the complaints you have. and no i could provide space if needed, also id love to take a trip out. im taking a week off soon ill see what your doing.


----------



## Kreij (Jun 3, 2011)

Okay .... Put basic instruction in the OP of this thread. The next version (0.0.5)  links to this thread in the help->content dialog.
I was going to just have a link that said "online help", but the more I can plaster the  techPowerUp name in the app the better! 

I also added a help->about dialog which contains the assembly information.
I tweaked the print engine so it sorts the keys/passwords by group, and after it runs the DataGridViews will be sorted in that manner also.

As always, any other ideas (functional or making it purdy™) will be considered and are greatly appreciated.


----------



## Kreij (Jun 6, 2011)

Okay here is version 0.0.5

I added another tab page that performs encryption and decryption on files, and also allows you to enter text and encrypt it to a file. Encrypted files will always have a ".enc" extension (except the key/password file which is the ".kzf" extension).
I will update the OP once this version seems stable.
This does not create in-place encrypted files. It takes the original file (ie. myfile.txt) and creates an encrypted version of it (myfile.txt.enc). Both files will reside on your hard drive. If you decrypt "myfile.txt.enc" and the file "myfile.txt" already exists, it will be overwritten.

I also disabled the save button when not on either the key or password tabpage as I though it could generate consusion.

Please test thoroughly as there were existing code updates as well as new code.

Another new function in the works. Expect 0.0.6 in a couple of days.


----------



## Solaris17 (Jun 8, 2011)

im not seeing any problems yet.

I was wondering however could you register your .enc with microsoft or something so that it is automatically opened with key-z? might be good for press if you manage to get them to document the extension.


----------



## Kreij (Jun 8, 2011)

File associations are just a registry setting. I can put that in as an option in the options menu.
You don't need MS's approval.

The new function I am working on is another tab that allows you to generate random keys in the event you want them for software distribution.
It allows you to select number of segments, segment lengths and type of key and then shows you the total possible number of unique keys it can generate. 
The file the keys are stored in are encrypted and use ".kzg" as the extension.
It functions fine now, but need work before it goes "live".
I'm sure anyone would ever use it, but it's a fun little coding exercise.


----------



## Solaris17 (Jun 8, 2011)

Kreij said:


> File associations are just a registry setting. I can put that in as an option in the options menu.
> You don't need MS's approval.
> 
> The new function I am working on is another tab that allows you to generate random keys in the event you want them for software distribution.
> ...



I would use this!!


----------



## Kreij (Jun 8, 2011)

Well okay then ! 

It also let's you "consume" keys, and flags them as consumed so that you do not re-use keys.
I need to add some kind of viewer yet, though, and make sure it does everything required by a software distributer.
All in all, it should not take too long (I hope).

I forgot to add I took a day off coding today ... so nothing will get done tonight.
Tonight's objective is "Drink Beer and Swim in Pool".


----------



## Solaris17 (Jun 8, 2011)

i applaud you for this. This little nifty app has in a very short time turned into more then that. More like a needed utility.


----------



## Kreij (Jun 8, 2011)

All this stuff is out there for free, it's just not packaged into a handy little app/utility that is easy to use, light weight and portable.

I'm gonna be rich selling this !!! .... oh wait...


----------



## Solaris17 (Jun 8, 2011)

inb4 your famous


----------



## Kreij (Jun 8, 2011)

lol ... once the KeyGen section gets put up, I'll need your input on features, Sol.


----------



## Solaris17 (Jun 9, 2011)

Kreij said:


> lol ... once the KeyGen section gets put up, I'll need your input on features, Sol.



you got it.


----------



## Solaris17 (Jun 18, 2011)

im waiting.


----------



## Kreij (Jun 20, 2011)

I'm working on it. Crazy busy the last few days.


----------



## Solaris17 (Jun 20, 2011)

i get ya dude. ill be at your door this afternoon ill bring a friend you can show us together.


----------



## Kreij (Jun 20, 2011)

It's almost good for initial public testing of the keygen section.
I just have to finish up the ability to add more keys to an existing collection.
For example, if you generate 1000 keys and want to add 1000 more and make sure they are unique.

Hopefully I'll put up the next build tomorrow if all goes well.


----------



## Kreij (Jun 21, 2011)

Okay ... here's 0.0.6
I'm not sure I like the keygen section the way it is. Comments on UI and usage appreciated.


----------



## Solaris17 (Jul 21, 2011)

Sorry I havent been responding iv been pretty busy lately. I think it looks fine the way it is and i havent beat it much a UI change i reccomend is on the key generator tab a few of the boxes seem to missing borders like the others have examples of this are.

Has border:
File Name
Key segment (type)

No Border:
Key segment
key length
number of keys to gen
number of keys to use
additional keys


----------



## Kreij (Jul 22, 2011)

What OS and theme are you using? 
Those are just standard WinForm NumericUpDown controls and looks fine here at work on XP.
Can you post a screenshot?


----------



## Solaris17 (Aug 4, 2011)

maybe it is my theme im currently running windows 7 x64 skinned.


----------



## Mindweaver (Aug 4, 2011)

It looks good Kreij! I see you have put a lot of time into this project.  I'd like to make a small suggestion.. I would put a button above on the right side of the DataGrid to turn off/on allowupdate, allowDelete, and AllowAddNew. So, when someone is scrolling through there keys they don't accidently change something. I would add a messagebox or MsgBox to inform the user they enabled or disabled user changes inside the DataGrid as well. 

Oh and I know you know this, but I'll say it for anyone here to learn. You can create a click event to the "*Commit*" button to enable those settings and disable once the new save data has been saved. You can also do more stuff like change the DataGrid OFF/On button text to red when it's off and green when it's on. This is just a good visual notification for the user.

EDIT: I said *Save button*.. I meant the *Commit button*.. 

*Also, I noticed whenever you type directly into the DataGrid then change rows then back it crashes the app with an unhandled exception. See Below.
*

```
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at Key_Z.Form1.passwordsDataGridView_CellClick(Object sender, DataGridViewCellEventArgs e)
   at System.Windows.Forms.DataGridView.OnCellClick(DataGridViewCellEventArgs e)
   at System.Windows.Forms.DataGridView.OnMouseClick(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.DataGridView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
```

*I would turn off the allowAddNew until the user clicked, "Commit" or wrap the code in a, "try... catch".*


----------



## Solaris17 (Dec 17, 2011)

bumping because i refuse to let this die. Its incredibly useful and i use it to store everything. I wont stop pestering until its done.


----------



## Kreij (Dec 17, 2011)

Okay, Sol. I get back to work on it.
It's been awhile since I looked at it, so it will take me a little while to refresh the code in my brain. 
I'll start going backward through this thread for problems and suggestions.


----------



## Solaris17 (Dec 17, 2011)

Kreij said:


> Okay, Sol. I get back to work on it.
> It's been awhile since I looked at it, so it will take me a little while to refresh the code in my brain.
> I'll start going backward through this thread for problems and suggestions.



you have no idea how much I love you right now. I had half a mind to make a brat and smear it all over my no no spots. This program is literally gold and is the most secure one I have ever come across it is ABSOLUTE peace of mind when I use it. Not to mention the girls.

"Bitches love when i keep my passwords in Key-Z"


----------



## Kreij (Dec 17, 2011)

Okay, fixed the issue that Mindweaver found by redoing the way the key section works.

The password tab was intended to auto-generate strong passwords. The fact that it stores the passwords separately from the keys seems a little redundant. Would it be fortuitous to have it so if you generate a password and "commit" it that it stores it (and the group and description) in the keys section on the first tab?
There is no difference (as far as the program is concerned) between a key and a password and this would also give you the ability to add a comment if you so choose.


----------



## Kreij (Dec 17, 2011)

Okay, here is a new version with some changes. Let me know what you think.
I compiled against .Net 4.0, so you need that.
I've got a bit of a version mismatch thing going here, so ...
*BACKUP UP YOUR EXISTING KEY FILE BEFORE TESTING !!!*


----------



## VulkanBros (Dec 17, 2011)

minor thing - under Help -> Content -> Solaris Utility DVD  -  link dosent work
(Solaris´s website is down ???)


----------



## Kreij (Dec 17, 2011)

It's still his old domain name. I'll fix that in next version.

That didn't work. SOLARIS WHAT'S YOUR DOMAIN NOW (and is it up?)


----------



## ThE_MaD_ShOt (Dec 17, 2011)

Well Kreij maybe I am just a dumbass but is there a way to save like user names and passwords for different sites and such? All I see is where you can put List under password with just the app name and password with no place for the username. For example if I wanted to save the password and user name for tpu in it. Here's a screenshot of what it has.









Here's A screenshot of what my feeble brain thinks should be there.


----------



## ThE_MaD_ShOt (Dec 17, 2011)

Also is it normal for every time I open to program I get this warning?


----------



## Solaris17 (Dec 17, 2011)

sudvd.net and it is up. its under construction. I wanted to make it more webstandard friendly so im starting from scratch. but the disks are still their. Thanks


----------



## Kreij (Dec 17, 2011)

@MadShots : Thank you. There is nothing for usernames at the moment because no one ever brought it up and I never thought of it. I will put a lot of thought into a good implementation for that.
As for the security warning, that's Windows doing it's thing. You can uncheck the checkbox and it won't ask again, but I'm not going to bother getting "verified" as a publisher through Microsoft by getting a digital signature.

@Sol : Thank buddy.


----------



## ThE_MaD_ShOt (Dec 17, 2011)

Kreij said:


> @MadShots : Thank you. There is nothing for usernames at the moment because no one ever brought it up and I never thought of it. I will put a lot of thought into a good implementation for that.
> As for the security warning, that's Windows doing it's thing. You can uncheck the checkbox and it won't ask again, but I'm not going to bother getting "verified" as a publisher through Microsoft by getting a digital signature.
> 
> @Sol : Thank buddy.


Cool thanks maybe I am not such a dumbass and missed something after all. Yes there is no need to bother with the verification. I'll just put a check in the box.


----------



## Kreij (Dec 17, 2011)

No Mad, you're not a dumbass. lol You pointed out something really important for the password section.

Since application keys do not need a username, do you think that combining the username and password in the "key" column (for password entries) in some manner would work well?


----------



## ThE_MaD_ShOt (Dec 17, 2011)

That should work or add a column for the user name like I did with the second pic if its not to much trouble. I think the extra column would be used more than not as we all have accounts to multiple websites that require a user name and password.


----------



## Kreij (Dec 18, 2011)

Yes, but if you are entering activation keys that column is meaningless and would still be there.


----------



## ThE_MaD_ShOt (Dec 18, 2011)

I see your point it would just be a blank space for that entry


----------



## Kreij (Dec 18, 2011)

What if when you hovered over the password a tooltip showed you the user name?
That would keep things a little more private for the casual observer.


----------



## ThE_MaD_ShOt (Dec 18, 2011)

That would be cool. I like that ideal.


----------



## Kreij (Dec 18, 2011)

You still on Mad? I thought I was the only insomniac in P&W. lol
I'll put that in the next build and we can test it to see what people like.
This has got to be good for the users or it's just another PITA appp.


----------



## Mindweaver (Dec 18, 2011)

Looks good Kreij. I did notice one thing and it's small and adds the extra polish. When you save and get the "*Access Password and PIN*" dialogue box needs to be updated with your program Icon and also the description header cuts off "*Access Password and PIN*". It looks like "*Access Password and PI...*".  Hope this helps. 



Spoiler: Example


----------



## Solaris17 (Dec 18, 2011)

Crashed when trying to load old kzf file. error is as follows.


```
************** Exception Text **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at Key_Z.Form1.DecryptData(String filename)
   at Key_Z.Form1.openToolStripMenuItem_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.239 (RTMGDR.030319-2300)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Key-Z
    Assembly Version: 0.0.7.0
    Win32 Version: 0.0.7.0
    CodeBase: file:///C:/Users/Solaris17/Downloads/Key-Z_0_0_7.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.235 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.236 built by: RTMGDR
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
```


----------



## Kreij (Dec 18, 2011)

Thanks Mindweaver, I made the window a little bigger so it won't do that.

Looking into the exception, Sol.


----------



## Solaris17 (Dec 18, 2011)

Im excited I love this app. also for the exception mayeb its because of the way it imports? diffirent number of columns or maybe its supposed to output to a specific tab # and when you changed them its now out of order?


----------



## Kreij (Dec 18, 2011)

Try this one Sol.


----------



## Solaris17 (Dec 20, 2011)

Kreij said:


> Try this one Sol.



opened up no problem!


man i have to hand it to ya and im not being a kiss ass but this thing is looking beautiful. Thanks so much for your work man. I know your busy with real life and making money making this stuff to idiots with alot of cash but i love stuff like this. Iv been using it since day one even the unstables I even have version 1.x.x.x from back before the name change.


----------



## Kreij (Dec 20, 2011)

I'm still kicking around the username thing as I'm not sure how to implement it yet.

Any other ideas or problems?


----------



## Solaris17 (Dec 20, 2011)

Kreij said:


> I'm still kicking around the username thing as I'm not sure how to implement it yet.
> 
> Any other ideas or problems?



im working on it. let me beat it for a day or 2 and ill get back to you. Im running out of porn sites to sign up for to test this out with.


----------



## Kreij (Dec 20, 2011)

LOL ... I'm currently contemplating the "prying eyes" aspect of the utility.
I use a method called "swift backhand to the face", but that may not be appropriate in all situations.


----------



## Solaris17 (Dec 20, 2011)

Kreij said:


> LOL ... I'm currently contemplating the "prying eyes" aspect of the utility.
> I use a method called "swift backhand to the face", but that may not be appropriate in all situations.



That all depends on what you want your significant other to make you for dinner. The latter could drastically alter the quality of food. How bout a simple checkbox on the pin pass for astrix entry. and maybe a box in the passwords tab that auto changes the password column to astrix.

i know it isnt spelled correctly but chrome doesnt know what to do with it and im to lazy to google the word and appear intelligent by spelling astrix correctly. Besides I have an image to uphold and not spelling things quite right adds to my charm/ devil may care attitude.


----------



## Kreij (Dec 20, 2011)

If you are accessing Key-Z because you forgot a password, having it displayed as asterisks doesn't do one a whole lot of good.

Ponder, ponder, ponder.


----------



## Solaris17 (Dec 20, 2011)

Kreij said:


> If you are accessing Key-Z because you forgot a password, having it displayed as asterisks doesn't do one a whole lot of good.
> 
> Ponder, ponder, ponder.



im thinking more of like a quick hide button if someone is strolling by. OR you could adjust background color of the passwords in the password column. for example black on white background. hit hide button all password fields turn block (pass not visible) but they could still be highlighted and copied?


----------



## Kreij (Dec 20, 2011)

Good idea, Sol. What if you accidentally leave Key-Z open (it could happen)?
Force user to re-enter password and Pin to display?


----------



## Solaris17 (Dec 20, 2011)

Kreij said:


> Good idea, Sol. What if you accidentally leave Key-Z open (it could happen)?
> Force user to re-enter password and Pin to display?



timeout of 10min before reauth?


----------



## Kreij (Dec 20, 2011)

Yeah, that's what I was thinking too. You leave Key-Z in a compromised state and in a set amount of time it reverts back to full security.


----------



## Solaris17 (Dec 20, 2011)

Kreij said:


> Yeah, that's what I was thinking too. You leave Key-Z in a compromised state and in a set amount of time it reverts back to full security.



sounds great to me. Not to mention its not as bad as the steam security sequence for authorizing new Pcs and checking emial etc. I think the general user base would be totally fine with a lockout. Not to mention 10min is perfect for the home user alone that leaves it open and goes to take a shit.


----------



## Kreij (Dec 20, 2011)

I was thinking one minute, they need to learn to shit faster.


----------



## Solaris17 (Dec 20, 2011)

Kreij said:


> I was thinking one minute, they need to learn to shit faster.



maybe but i wouldnt go lower then 5. if you open it and your bringing the site up in another window and your internet is kreij speed it might be a tad bothersome to go back and find you need to logback in after the page has loaded. Also assuming the blackout is implimented. Make sure the print function does not print the black squares if you try to do a print in hidden mode.

EDIT:: Actually id disable or grey print function if possible in hidden mode.


----------



## Kreij (Dec 20, 2011)

Good points on everything. Thank you Sol.
I still need to do some thinking on this. I want the utility to be as accessable as possible while remaining as secure as possible.


----------



## Solaris17 (Dec 20, 2011)

Kreij said:


> Good points on everything. Thank you Sol.
> I still need to do some thinking on this. I want the usility to be as accessable as possible while remaining as secure as possible.



solve it all. Let it be the users choice. Make a settings menu and implement a timeout function with a max amount of 10min and the lowest of 1. Default it to w/e you want. everyones happy. dump the settings in the temp folder if it cant be self contained that way the program stays non evasive. or store them in the kzf file


----------



## ThE_MaD_ShOt (Dec 20, 2011)

Kreij said:


> I'm still kicking around the username thing as I'm not sure how to implement it yet.
> 
> Any other ideas or problems?



Cool i'll keep an eye out for when you implement it. Then I'll  it around for awhile.


----------



## Kreij (Dec 20, 2011)

It will all require some measure of access control, but yes, we will solve it all. 

@MadShot, grab it and kick it around now. There are bound to be other issues we have not discussed or found.
And I appreciate the help testing.


----------



## Solaris17 (Dec 20, 2011)

Kreij said:


> It will all require some measure of access control, but yes, we will solve it all.



Im not intelligent enough to implement something like this on any app I make but iv always been good for a second opinion. Just pitch the idea. I think the easiest way might be to store the settings in the kzf file. That way they are specific to that person regardless of the version used or the PC the program is on. It carries familiararity over to the user. As well as giving them the ability to manipulate the security level based on circumstance. Then you dont have to worry about overwriting a file dumped in the temp folder or coming up with a clever way to append a filename. It might take more work to impliment or rework the kzf file structure. but is easier to work with in the long run. Remember their is no fault on the author for someone getting their passwords stolen. But they will LOVE the app for the ability to modify the chance. It also takes your headaches out of the equation. You wont need to start a poll or go back and fourth with me trying to decide on a good time out like your blowing all your beer money at a casino.


----------



## ThE_MaD_ShOt (Dec 20, 2011)

Oh I got it and been messing with it.


----------



## Kreij (Dec 20, 2011)

This version implements user names. After you enter a description, username and password from the password tab (and commit it), you will see the user name when you hover over the application name in the DataGridView on the keys tab.

This should not break existing kzf files.
Please beat up on it. Off to work on "password hiding".

Version removed ... use most current below.


----------



## Solaris17 (Dec 20, 2011)

I'll play with it when I get home I had to go to the city this morning and I'm on my phone ATM


----------



## Kreij (Dec 20, 2011)

Version 0.0.9 adds shortcut keys (Alt-n = hide, Alt-d = show) to hide or show key information.
I chose those because the difference is night and day. HAHAHA... I crack me up.

After some thought I think that re-authorization tied to a timer is just a hassle for the user.
These are just shortcut keys and you cannot find this anywhere on the form as a button or menu item. (shhh ... they're a secret !!)

Check 'er out.

Version Removed. Keep reading ...


----------



## Solaris17 (Dec 20, 2011)

It works great!


----------



## Kreij (Dec 20, 2011)

My other reasoning for dumping the re-auth is that you can just do File->Close and all your info is out of the app until you open the kzf file again, which is just as easy as any other way.
Also, if you are in one of the other tabs, the shortcuts should still do their job.

Okay, what's next? 
You got me in a coding mood, Solaris


----------



## Solaris17 (Dec 21, 2011)

Kreij said:


> My other reasoning for dumping the re-auth is that you can just do File->Close and all your info is out of the app until you open the kzf file again, which is just as easy as any other way.
> Also, if you are in one of the other tabs, the shortcuts should still do their job.
> 
> Okay, what's next?
> You got me in a coding mood, Solaris



I tried encrypting a pdf. I then attempted to decrypt it and checked to show output. it hung and qued up 100% of a core.


----------



## Kreij (Dec 21, 2011)

Indeed it does. Most likely because a pdf is not "text" (which this was originally targetted at) and showing the decrypted output is problematic.
IT works fine if you do not ask for the decrypted output. 
I will ponder the solution.


----------



## Solaris17 (Dec 21, 2011)

Kreij said:


> Indeed it does. Most likely because a pdf is not "text" (which this was originally targetted at) and showing the decrypted output is problematic.
> IT works fine if you do not ask for the decrypted output.
> I will ponder the solution.



Use eye of newt works everytime.


----------



## Kreij (Dec 21, 2011)

Eye of Newt said to rething the entire tab's function. lol

Eye of Newt says he's open for ideas too.


----------



## Solaris17 (Dec 21, 2011)

Kreij said:


> Eye of Newt said to rething the entire tab's function. lol
> 
> Eye of Newt says he's open for ideas too.



The tab should stay. Allow the box to display all sorts of diffirent formats? If not malke a warning that it only supports x file type(s)


----------



## Kreij (Dec 21, 2011)

The tab will stay, the problem is the box is a TextBox. It's never going to be happy with binary data and all kind of non-printable control characters.
It was really meant to show you files that you created by encrypting in the TextBox in the first place. It's not a file viewer for varied formats.


----------



## Solaris17 (Dec 21, 2011)

Kreij said:


> The tab will stay, the problem is the box is a TextBox. It's never going to be happy with binary data and all kind of non-printable control characters.
> It was really meant to show you files that you created by encrypting in the TextBox in the first place. It's not a file viewer for varied formats.



set an extension default? that way when you hit browse it will only show the files supported by keyz of course you could modify the drop down and view all. But at that point it is implied it doesnt support other file types.


----------



## Kreij (Dec 21, 2011)

Key-Z supports the encryption and decryption of any type of file, it just will barf if the contents of the file is not text if you ask for it to be displayed.
Ponder, ponder ponder.


----------



## Solaris17 (Dec 21, 2011)

Kreij said:


> Key-Z supports the encryption and decryption of any type of file, it just will barf if the contents of the file is not text if you ask for it to be displayed.
> Ponder, ponder ponder.



if the file is a txt enable check box if file check shows =/= .txt grey display checkbox?


----------



## Kreij (Dec 21, 2011)

I thought about that, but there are many file extensions for files that actually contain text.
Anything that will open in notepad is text (like INI files).
Give me a little while. I think I can make the program smart enough to "sense" a non-text file. 

In the mean time, keep testing gents !!


----------



## Solaris17 (Dec 21, 2011)

Kreij said:


> I thought about that, but there are many file extensions for files that actually contain text.
> Anything that will open in notepad is text (like INI files).
> Give me a little while. I think I can make the program smart enough to "sense" a non-text file.
> 
> In the mean time, keep testing gents !!



I agree if you cant get it maybe making a "whitelist" would be easier then a blacklist.

http://en.wikipedia.org/wiki/List_of_file_formats


----------



## Kreij (Dec 21, 2011)

Solaris17 said:


> I agree *if you cant get it* maybe making a "whitelist" would be easier then a blacklist.



Smack yourself with a bratwurst until you get here. 

The bytes are being fed from a CryptoStream through a Decryptor and into a FileStream. I should be able to watch them and determine if the bytes are not "text" friendly.


----------



## Solaris17 (Dec 21, 2011)

Kreij said:


> Smack yourself with a bratwurst until you get here.



hahaahahahaha Sorry while I was eating dry honey nut cheerios my cognitive ability seemed to get rather lax. I immediately noticed my folly my subconscious misconveyed my true thought. which was only to merely suggest that a whitlist may be more beneficial so as not to waste your most valued time and furthermore surely not an attempt to undermine your genius, though this is all a misunderstanding I do plead you not to be too vexed as im sure you can find it in your heart to forgive.



Is that better? i dont think iv written a post that formal on here in years. Ill give this one to you. as a keepsake.


----------



## Kreij (Dec 21, 2011)

rofl ... I'm have no genious, I just don't quit until it works the way I want.


----------



## ThE_MaD_ShOt (Dec 21, 2011)

Works like a mofo. Thanks perfect.


----------



## Kreij (Dec 21, 2011)

Okay, I removed the text entry area in the File and Text Encryption/Decryption tab as it's seemed kind of useless. I renamed the tab to just "File Encryption/Decryption"

In their wisdom of basing file types on extensions (since the DOS ages) and never properly implementing or enforcing internal file type desination, some files use the first 4 bytes as a file type (like all PDFs start with %PDF), but many do not.
I figured out a way to "sniff" the file for clues, but came to the conclusion that it would be highly inaccurate (even notepad will try to open non-text files if it's fooled).
Therefore, I cheated. 
If you check the "View Decrypted File" CheckBox, the file will open in it's native application (if there is one), similar to double-clicking on a file in windows explorer.
If the decrypted file is an ".exe" it will ignore the CheckBox and never run/open a file with an extension of ".exe".

Please test at your leisure.


----------



## Solaris17 (Dec 22, 2011)

Everything is working great so far man. I had a question though. I added a password with a screen name unfortunetely my DB is from an old version before the column was implimented. The SN didnt show. I ended up adding it to the comment field. Is this supposed to happen?


----------



## Kreij (Dec 22, 2011)

No, it should work as designed.
Maybe save and re-load it to see what happens?


----------



## Solaris17 (Dec 22, 2011)

Kreij said:


> No, it should work as designed.
> Maybe save and re-load it to see what happens?



loaded it up and username is noware to be seen


----------



## Kreij (Dec 22, 2011)

So you never see the tooltip with the username in it for anything? 
How about if you create a new test kzf file?
What version was your file made in?


----------



## Solaris17 (Dec 22, 2011)

NVM I see it now I just dont hover that long over it so I never saw it before.


----------



## Solaris17 (Dec 27, 2011)

hey kreij do you mind if i add this to the useful software tab in my driver finder program?


----------



## Dippyskoodlez (Dec 27, 2011)

Would be nice to have the password and pin turn into ****'s when input, rather than plaintext. Also consider making the stars randomized, ** for one button, then * for one button, then *** for another button and such. That way the characters cant be counted via screen surfing.


----------



## ThE_MaD_ShOt (Dec 28, 2011)

Now Kreij do you mind if I tweak it just a tad to suit my Add self? As in basically have it like a installed program. exe in a folder under programs and a file in that folder for the data file with a shortcut on my start menu. I just get anal about some things do I really shouldn't. Also it works great. Great work


----------



## Dippyskoodlez (Dec 29, 2011)

ThE_MaD_ShOt said:


> Now Kreij do you mind if I tweak it just a tad to suit my Add self? As in basically have it like a installed program. exe in a folder under programs and a file in that folder for the data file with a shortcut on my start menu. I just get anal about some things do I really shouldn't. Also it works great. Great work



Since this app is still evolving a bit, you would probably be better off just making your own directories for it by hand. (all of those can be created to suit your needs, manually) This will also allow you to upgrade versions by just swapping the exe.


----------



## Solaris17 (Dec 30, 2011)

well if you add the icon to the password-pin window this thing looks perfect.


----------



## Kreij (Jan 10, 2012)

Added icon to pin form. Version 0.0.11 below.

Sorry for the delay, I've been run through the meat grinder lately. lol
(ouch, dammit, gotta quit making myself laugh  )

Version removed. Read farther for latest version.


----------



## Solaris17 (Jan 10, 2012)

Kreij said:


> Added icon to pin form. Version 0.0.11 below.
> 
> Sorry for the delay, I've been run through the meat grinder lately. lol
> (ouch, dammit, gotta quit making myself laugh  )



and the content/about window


----------



## Kreij (Jan 10, 2012)

Do you think that needs the little icon since it has the image of the tree big keys?

Also, I thought about making the password/pin "hidden * characters" but does that really add anything other than a little more hassle for the user?
I'll go with the consensus on that one.


----------



## Solaris17 (Jan 10, 2012)

Kreij said:


> Do you think that needs the little icon since it has the image of the tree big keys?
> 
> Also, I thought about making the password/pin "hidden * characters" but does that really add anything other than a little more hassle for the user?
> I'll go with the consensus on that one.



i guess not im just nitpicking because im running out of ideas. As for astrix idk i was thinking for like cyber cafe's or like airports people next to you and stuff. and just checking a box to make them hidden.


----------



## Kreij (Jan 10, 2012)

Okay, added icon to about window and changed input to password characters.
Let me know if you like it that way.
I guess if you can't remember your password/pin it's not going to matter if you can see it plaintext. heh

Also, feel free to do what you want with the app in your utilities, Solaris


----------



## Solaris17 (Jan 10, 2012)

Kreij said:


> Okay, added icon to about window and changed input to password characters.
> Let me know if you like it that way.
> I guess if you can't remember your password/pin it's not going to matter if you can see it plaintext. heh



I love it.


----------



## ThE_MaD_ShOt (Jan 11, 2012)

Thank you for another fine version


----------



## Mindweaver (Jan 23, 2012)

Kickass I just got the new version! I don't know how I missed this.. hehehe  Great job!

Oh i was thinking... What do you think about a main post/sticky with links to all the program projects going on with dates? That way it would be easier for users to keep up with updates.


----------



## Kreij (Jan 24, 2012)

While that's not a bad idea, MW, it would mean that one person would have to monitor the status of all the projects and update the OP in the thread. I would rather see the project authors maintain their own threads with updates and such.

People can subscribe to projects if they want notification when something changes or more discussion occurs.


----------



## Mindweaver (Jan 24, 2012)

Kreij said:


> While that's not a bad idea, MW, it would mean that one person would have to monitor the status of all the projects and update the OP in the thread. I would rather see the project authors maintain their own threads with updates and such.
> 
> People can subscribe to projects if they want notification when something changes or more discussion occurs.



Yea that would be a lot. How about just a list of projects with links to each. Now i'm not saying the mods need to keep up with it,  but maybe someone that frequents the "Programming & Webmastering" section? Just a thought..


----------



## Solaris17 (Sep 9, 2012)

bringing it back! still having an odd problem when trying to make new keys. it only happens at random times but when i try to modify the name of an existing group that has the key sometimes the program will crash on save or the key will just dissapear.


----------



## rascal27 (Sep 24, 2012)

thanks for sharing...........


----------



## Solaris17 (Aug 16, 2013)

Kreij I still use this to this day and have quite a bit of keys stored in it However I cannot find a delete option I have accidentally duplicated some of them. Could this be implemented?


----------



## Kreij (Aug 17, 2013)

Hi Sol,

You should be able to select the row in the datagridview that contains the duplicate and hit the delete key to remove it. Then save.


----------

