VBCorLib for VB6

Tuesday, August 01, 2006

Cryptography

Cryptography is a very interesting study at the least. I've managed to learn the CryptoAPI functions to implement the DES, TripleDES, and RC2 cryptographic methods. Now I've been messing around with the Rijndael algorithm. It's based on the AES cipher, but allows for larger blocks to be handled. I haven't started to learn about the hash functions. I'm sure they will be another adventure.

Otherwise, things are coming along fine. The tests for these routines are quite long as I read in a file with all the required information to perform encryption/decryption. I do many combinations for the parameters making for large amounts of test data. But, I think it's important that these routines are solid on the first try.

Also, I'm seriously considering breaking binary compatibility. There are some updates that are needling me. I'm thinking that since the source code is downloaded the most then everyone is probably compiling it themselves, meaning there is no binary compatibility anyways. So I'm really thinking about cleaning things up and updating some interfaces. Well see how it goes.

-Kelly

3 Comments:

  • It is great to see that you continue to support VBCorLib!

    Breaking compatibility will be no problem at all, I'm just looking forward to any updates.

    Thanks,
    Horst

    By Anonymous Anonymous, at 8/02/2006 6:48 AM  

  • Hi,

    I just noticed something in your documentation (this is not related to Cryptography though):

    "VB6 does not support static class methods". I think this is not really true. I noticed that VB6 actually supports Static functions once you compile your dll and use it as a dll (Project Group won't work). In that case, the normal "static" syntax seems to work just fine. A while ago I did a similar project for the Registry class only. I had a property:

    Static Property Get CLASSES_ROOT() As RegistryHive
    Set CLASSES_ROOT = Me.GetHive(HKEY_CLASSES_ROOT)
    End Property

    in a GlobalMultiUse (yuck) class compiled into a DLL. In code i could use it using:

    Dim Key As RegistryKey
    Set Key = Registry.ClassesRoot


    But as I said...it only works with COMPILED dlls, not Project Groups. Just my 2 cents, your solution is probably still more elegant.

    Nice Framework!

    By Anonymous Anonymous, at 8/08/2006 6:43 AM  

  • Maybe I should have written my name, too :)

    Regards,
    Daniel

    By Anonymous Anonymous, at 8/08/2006 6:43 AM  

Post a Comment

<< Home