Commit f0211d954c055f21733bad7c0c5357b99f6c7b80
1 parent
34097d6c
use a simpler seed for the random number generator
git-svn-id: svn+q:///qpdf/trunk@821 71b93d88-0707-0410-a8cf-f5a4172ac649
Showing
1 changed file
with
4 additions
and
12 deletions
libqpdf/Pl_AES_PDF.cc
| 1 | 1 | #include <qpdf/Pl_AES_PDF.hh> |
| 2 | 2 | #include <qpdf/QUtil.hh> |
| 3 | -#include <qpdf/MD5.hh> | |
| 4 | 3 | #include <cstring> |
| 5 | 4 | #include <assert.h> |
| 6 | 5 | #include <stdexcept> |
| ... | ... | @@ -111,17 +110,10 @@ Pl_AES_PDF::initializeVector() |
| 111 | 110 | static bool seeded_random = false; |
| 112 | 111 | if (! seeded_random) |
| 113 | 112 | { |
| 114 | - std::string seed_str; | |
| 115 | - seed_str += QUtil::int_to_string((int)QUtil::get_current_time()); | |
| 116 | - seed_str += " QPDF aes random"; | |
| 117 | - MD5 m; | |
| 118 | - m.encodeString(seed_str.c_str()); | |
| 119 | - MD5::Digest digest; | |
| 120 | - m.digest(digest); | |
| 121 | - assert(sizeof(digest) >= sizeof(unsigned int)); | |
| 122 | - unsigned int seed; | |
| 123 | - memcpy((void*)(&seed), digest, sizeof(unsigned int)); | |
| 124 | - srandom(seed); | |
| 113 | + // Seed the random number generator with something simple, but | |
| 114 | + // just to be interesting, don't use the unmodified current | |
| 115 | + // time.... | |
| 116 | + srandom((int)QUtil::get_current_time() ^ 0xcccc); | |
| 125 | 117 | seeded_random = true; |
| 126 | 118 | } |
| 127 | 119 | for (unsigned int i = 0; i < this->buf_size; ++i) | ... | ... |