SOL9 2.0 Sample: AES

SOL9 2.0 Samples

1 Screenshot


2 Source code

/*
 * AES.cpp 
 * Copyright (c) 2009 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */



// SOL9 2009/02/22

#include <sol/crypt/CryptServiceProvider.h>
#include <sol/crypt/SymmetricKey.h>


int _tmain(int argc, TCHAR *argv[])
{
    int rc = 0;

    try {
        //Default (PROV_RSA_AES) crypt service provider
        CryptServiceProvider csp;
        {
            printf("AES_128\n");
        
            SymmetricKey aes(csp, CALG_AES_128);
            const size_t size = 128;
            size_t dsize = size;

            const size_t bsize = size+ 128;
            unsigned char buffer[bsize];
            memset(buffer, 0, sizeof(buffer));
            strcpy((char*)buffer, "This is a sample text.Hello world!");
            printf("1 SIZE=%d DATA=[%s]\n", dsize, (char*)buffer);        
            aes.encrypt(buffer, &dsize, bsize, TRUE);

            aes.decrypt(buffer, &dsize, TRUE);
            printf("2 SIZE=%d DATA=[%s]\n", dsize, (char*)buffer);        
        }        

        {
            printf("\n");
            printf("AES_192\n");
        
            SymmetricKey aes(csp, CALG_AES_192);
            const size_t size = 128;
            size_t dsize = size;
            const size_t bsize = size+ 128;
            unsigned char buffer[bsize];
            memset(buffer, 0, sizeof(buffer));
            strcpy((char*)buffer, "This is a sample text.Hello world!");
            printf("1 SIZE=%d DATA=[%s]\n", dsize, (char*)buffer);        
            aes.encrypt(buffer, &dsize, bsize, TRUE);

            aes.decrypt(buffer, &dsize, TRUE);
            printf("2 SIZE=%d DATA=[%s]\n", dsize, (char*)buffer);        
        }

        {
            printf("\n");
            printf("AES_256\n");
        
            SymmetricKey aes(csp, CALG_AES_256);
            const size_t size = 128;
            size_t dsize = size;
            const size_t bsize = size+ 128;
            unsigned char buffer[bsize];
            memset(buffer, 0, sizeof(buffer));

            strcpy((char*)buffer, "This is a sample text.Hello world!");
            printf("1 SIZE=%d DATA=[%s]\n", dsize, (char*)buffer);        

            aes.encrypt(buffer, &dsize, bsize, TRUE);

            aes.decrypt(buffer, &dsize, TRUE);
            printf("2 SIZE=%d DATA=[%s]\n", dsize, (char*)buffer);        
        }

    } catch (Exception& ex) {
        printf("Exception = %s\n", ex.getErrorMessage());
    }

    rc = GetLastError();

    return rc;
}

Last modified: 11 Nov 2009

Copyright (c) 2009 Antillia.com ALL RIGHTS RESERVED.