NSPR Reference: Chapter 32 Random Number Generator
Description: The Sun-Netscape Alliance, a strategic alliance formed by America Online and Sun Microsystems, Inc., is delivering iPlanet e-commerce software and enterprise solutions that enable companies to compete successfully in the Net Economy
Keywords: electronic commerce, ecommerce, ebusiness, e-business, e-commerce, enterprise software, net economy, Netscape, Sun Microsystems, Sun-Netscape Alliance, iPlanet, internet software

NSPR Reference Previous Contents Next

## Chapter 32 Random Number Generator

This chapter describes the NSPR random number generator.

## Random Number Generator Function

#### PR_GetRandomNoise

Produces a random value for use as a seed value for another random number generator.

##### Syntax

    #include <prenv.h>

    NSPR_API(PRSize) PR_GetRandomNoise(
       void    *buf,
       PRSize  size
    );

##### Parameters

The function has the following parameters:

    buf
| A pointer to a caller-supplied buffer to contain the generated random number. buf must be at least as large as specified in `size`.
`size` | The size, in bytes, of the requested random number.

##### Returns

`PRSize` value equal to the size of the random number actually generated, or zero. The generated size may be less than the size requested. A return value of zero means that `PR_GetRandomNoise` is not implemented on this platform, or there is no available noise available to be returned at the time of the call.

##### Description

`PR_GetRandomNoise` provides a random value, depending on platform. The length of the random value is dependent on the platform and its ability to provide a random value at that moment.

`PR_GetRandomNoise` is intended to provide a "seed" value for a another random number generator that may be suitable for cryptographic operations. This implies that the random value provided may not be, by itself, cryptographically secure. The value generated by `PR_GetRandomNoise` is at best, extremely difficult to predict and is as nondeterministic as the underlying platfrom permits.

Previous Contents Next

Last Updated May 18, 2001