diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/examples/test_es.cpp | 39 | ||||
-rw-r--r-- | doc/license.txt | 2 |
2 files changed, 24 insertions, 17 deletions
diff --git a/doc/examples/test_es.cpp b/doc/examples/test_es.cpp index 18531b326..cae47a853 100644 --- a/doc/examples/test_es.cpp +++ b/doc/examples/test_es.cpp @@ -32,30 +32,36 @@ using namespace Botan; -void test_entropy_source(EntropySource* es) +void test_entropy_source(EntropySource* es, + EntropySource* es2 = 0) { // sometimes iostreams really is just a pain - // upper buffer size of 96 to match HMAC_RNG's - byte buf[96] = { 0 }; - printf("Polling '%s':\n", es->name().c_str()); - printf(" Fast poll... "); - u32bit fast_poll_got = es->fast_poll(buf, sizeof(buf)); - printf("got %d bytes: ", fast_poll_got); - for(u32bit i = 0; i != fast_poll_got; ++i) - printf("%02X", buf[i]); - printf("\n"); + Entropy_Accumulator accum1(256); + es->poll(accum1); + + Entropy_Accumulator accum2(256); + if(es2) + es2->poll(accum2); + else + es->poll(accum2); + + SecureVector<byte> polled1 = accum1.get_entropy_buffer(); + SecureVector<byte> polled2 = accum2.get_entropy_buffer(); + + SecureVector<byte> compare(std::min(polled1.size(), polled2.size())); + + for(u32bit i = 0; i != compare.size(); ++i) + compare[i] = polled1[i] ^ polled2[i]; - printf(" Slow poll... "); - u32bit slow_poll_got = es->slow_poll(buf, sizeof(buf)); - printf("got %d bytes: ", slow_poll_got); - for(u32bit i = 0; i != slow_poll_got; ++i) - printf("%02X", buf[i]); + for(u32bit i = 0; i != compare.size(); ++i) + printf("%02X", compare[i]); printf("\n"); delete es; + delete es2; } int main() @@ -81,7 +87,8 @@ int main() #endif #if defined(BOTAN_HAS_ENTROPY_SRC_FTW) - test_entropy_source(new FTW_EntropySource("/proc")); + test_entropy_source(new FTW_EntropySource("/proc"), + new FTW_EntropySource("/proc")); #endif diff --git a/doc/license.txt b/doc/license.txt index 0f281171c..4c3fc1999 100644 --- a/doc/license.txt +++ b/doc/license.txt @@ -1,4 +1,4 @@ -Copyright (C) 1999-2008 Jack Lloyd +Copyright (C) 1999-2009 Jack Lloyd 2001 Peter J Jones 2004-2007 Justin Karneges 2005 Matthew Gregan |