CRYPT_GEN_RANDOM (Transact-SQL)

**APPLIES TO:** ![yes](media/yes.png)SQL Server (starting with 2008) ![yes](media/yes.png)Azure SQL Database ![no](media/no.png)Azure SQL Data Warehouse ![no](media/no.png)Parallel Data Warehouse

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.

Topic link icon Transact-SQL Syntax Conventions

Syntax

CRYPT_GEN_RANDOM ( length [ , seed ] )   

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)