SOL9 2.0 Class: Random

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * Random.h 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL9
// 2009/02/15
#pragma once

#include <sol/crypt/CryptServiceProvider.h>

namespace SOL {

class Random :public Object {

public:
    Random(){
        //
    }

public:
    /**
     * Constructor
     */
    Random(CryptServiceProvider& csp, unsigned char* buffer, size_t length) {
        //
        generate(csp, buffer, length);
    }

public:
    int generate(CryptServiceProvider& csp, unsigned char* buffer, size_t length) {
        int rc = NO_ERROR;

        if (!CryptGenRandom(csp.getProviderHandle(), length, buffer)) {
            throw Exception(GetLastError(),
                    "Random#Random,1,generate failed");

        }
        return rc;
    }

public:
    /**
     * Destructor
     */
    ~Random() {
    }
};

}


Last modified: 1 Feb 2012

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