NaviServer - programmable web server
4.99  5.0

[ Main Table Of Contents | Table Of Contents | Keyword Index ]

ns_rand(n) 4.99.30 naviserver "NaviServer Built-in Commands"

Name

ns_rand - Generate a random number

Table Of Contents

Synopsis

Description

This command generates a cryptographically secure random number. If maximum is not specified, the random number returned is a floating-point value n such that 0.0 <= n < 1.0. If maximum is specified, it must be a positive integer between 1 and 2147483647, in which case ns_rand will return an integer value n such that 0 <= n <= max - 1. Internally ns_rand is implemented with the drand48() and lrand48() standard library functions. An internal random seed is generated the first time ns_rand is called after the server starts.

COMMANDS

ns_rand ?maximum?

EXAMPLES

 % ns_rand
 0.39938485692
 % ns_rand 10
 7

CAVEAT

[ns_rand 1] will always produce the result 0. [ns_rand 2] will produce the desired "coin flip" outcome of 0 or 1. This is standard with Java's java.util.Random implementation of nextInt and most other random number libraries.

The function ns_crypto::randombytes returns high quality random values based on the OpenSSL random implementation.

See Also

ns_crypto, nsd

Keywords

global built-in, random