CRYPT_GEN_RANDOM (Transact-SQL)

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance

This function returns a cryptographic, randomly-generated number, generated by the Crypto API (CAPI). CRYPT_GEN_RANDOM returns a hexadecimal number with a length of a specified number of bytes.

Transact-SQL syntax conventions

Syntax

CRYPT_GEN_RANDOM ( length [ , seed ] )   

Note

To view Transact-SQL syntax for SQL Server 2014 (12.x) and earlier versions, see Previous versions documentation.

Arguments

length
The length, in bytes, of the number that CRYPT_GEN_RANDOM will create. The length argument has an int data type, and a value range between 1 and 8000. CRYPT_GEN_RANDOM returns NULL for an int value outside this range.

seed
An optional hexadecimal number, for use as a random seed value. The length of seed must match the value of the length argument. The seed argument has a varbinary(8000) data type.

Returned Types

varbinary(8000)

Permissions

This function is public and it does not require any special permissions.

Examples

A. Generating a random number

This example generates a random number of length 50 bytes:

SELECT CRYPT_GEN_RANDOM(50) ;  

This example generates a random number of length 4 bytes, using a 4-byte seed:

SELECT CRYPT_GEN_RANDOM(4, 0x25F18060) ;  

See also

RAND (Transact-SQL)