/*
* 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() {
}
};
}
|