diff options
Diffstat (limited to 'base/rand_util_win.cc')
-rw-r--r-- | base/rand_util_win.cc | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/base/rand_util_win.cc b/base/rand_util_win.cc deleted file mode 100644 index 8573b6b601..0000000000 --- a/base/rand_util_win.cc +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/rand_util.h" - -#include <windows.h> - -// #define needed to link in RtlGenRandom(), a.k.a. SystemFunction036. See the -// "Community Additions" comment on MSDN here: -// http://msdn.microsoft.com/en-us/library/windows/desktop/aa387694.aspx -#define SystemFunction036 NTAPI SystemFunction036 -#include <NTSecAPI.h> -#undef SystemFunction036 - -#include <algorithm> -#include <limits> - -#include "base/logging.h" - -namespace base { - -// NOTE: This function must be cryptographically secure. http://crbug.com/140076 -uint64 RandUint64() { - uint64 number; - RandBytes(&number, sizeof(number)); - return number; -} - -void RandBytes(void* output, size_t output_length) { - char* output_ptr = static_cast<char*>(output); - while (output_length > 0) { - const ULONG output_bytes_this_pass = static_cast<ULONG>(std::min( - output_length, static_cast<size_t>(std::numeric_limits<ULONG>::max()))); - const bool success = - RtlGenRandom(output_ptr, output_bytes_this_pass) != FALSE; - CHECK(success); - output_length -= output_bytes_this_pass; - output_ptr += output_bytes_this_pass; - } -} - -} // namespace base |