// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CRYPTO_RANDOM_H_ #define CRYPTO_RANDOM_H_ #include #include #include "base/containers/span.h" #include "crypto/crypto_export.h" namespace crypto { // Fills the given buffer with `length` random bytes of cryptographically // secure random numbers. CRYPTO_EXPORT void RandBytes(void *bytes, size_t length); // Fills `bytes` with cryptographically-secure random bits. CRYPTO_EXPORT void RandBytes(base::span bytes); // Returns a vector of `length` bytes filled with cryptographically-secure // random bits. CRYPTO_EXPORT std::vector RandBytesAsVector(size_t length); } #endif // CRYPTO_RANDOM_H_