SOL9 2.0 Sample: SHA

SOL9 2.0 Samples

1 Screenshot


2 Source code

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


// 2009/02/22
// 2009/02/23 Added the case CALG_SHA_384

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


void _tmain(int argc, TCHAR** argv)
{
    if (argc != 2) {
        printf("Usage:SHA512.exe filePath\n");
        return;
    }

    try {
        CryptServiceProvider csp;
        {
            printf("\n");
            printf("SHA1\n");

            MessageDigest md(csp, CALG_SHA1);
            md.hashFile(argv[1]);

            Bytes bytes;
            md.getHashValue(bytes);

            bytes.dump();
        }

        {
            printf("\n");
            printf("SHA256\n");

            MessageDigest md(csp, CALG_SHA_256);
            md.hashFile(argv[1]);

            Bytes bytes;
            md.getHashValue(bytes);

            bytes.dump();
        }

        {
            printf("\n");
            printf("SHA384\n");

            MessageDigest md(csp, CALG_SHA_384);
            md.hashFile(argv[1]);

            Bytes bytes;
            md.getHashValue(bytes);

            bytes.dump();
        }

        {
            printf("\n");
            printf("SHA512\n");

            MessageDigest md(csp, CALG_SHA_512);
            md.hashFile(argv[1]);

            Bytes bytes;
            md.getHashValue(bytes);

            bytes.dump();
        }

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

Last modified: 11 Nov 2009

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