VBCorLib for VB6

Thursday, October 26, 2006

2.0 Released!

Well, it's finally out! I made myself quit tinkering with every little thing and publish the new version. It's full of all sorts of new things, I keep forgetting what's in it. The compiled dll may collapse under its own weight. With the new classes and the fact I moved the VBCultures.nlp file into the resource to reduce dependencies, it weighs in at a hefty 4megs. To me that doesn't mean much. I ship much larger distributions, so I'm impressed it's only 4megs! Anyways, I hope everyone enjoys the new cryptography functionality and any new functions I've added but can't remember.

Thank You,
-Kelly

Monday, October 02, 2006

Wrapping Up 2.0

The journey through the cryptography namespace of DotNET was indeed an adventure. Very exciting. I learned a great deal about cryptography, hashes, and digital signatures. I got to implement the Rijndael algorithm. That was a lot of fun. The other algorithms were supplied by crytography service providers. However, I did get to implement all the managed hashing routines. That was very educational, along with the (Hash) Message Authentication Code classes.

Many additional utility classes were also included, such at the SecurityElement, which is a simple implementation of managing XML strings. And the StopWatch class was upgraded to match the DotNET implementation, even though it doesn't exist in the core library. I like having a StopWatch class.

Many array contructors have also been included so arrays of specific datatypes can easily be created. This was to help with being able to create an array inline to be passed into the crypto functions that accepted Byte arrays. It was just easier to create constructors instead of constantly declaring a variable and assigning an array prior to usage.

I'm currently reworking the VBCorLibTypes typelibrary. Creating an IDL source file, since there never was one because I used Matt Curland's type library editor. Once that is finished, I'll be adding as much support for the unicode versions of the API functions as I can. Specifically for file, registry and INI support, but, I'll include support where it makes sense. The unicode support will only work on NT machines, which I'm pretty sure includes everyone now-a-days.

There is one place I don't think I'll finish because it may be more trouble than it's really worth, and that is in the DSAParameters class. The "J" parameter is equal to (P - 1) / Q. The parameter is optional. So, I'm not sure I want to delve into dividing 64 byte numbers for such little gain. If I do learn about such large numbers, I might write a BigInteger class. Or if someone with knowledge of such things could point me in the right direction.

Anyways, things are coming together. I have documentation to write, including a whole set of tutorials for all this wonderful cryptography stuff. It should be fun!

-Kelly