Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Utilisez CRYPT_GEN_RANDOM() pour créer un nombre cryptographique aléatoire dans SQL Server

Dans SQL Server, vous pouvez utiliser le CRYPT_GEN_RANDOM() pour renvoyer un nombre cryptographique généré aléatoirement. Le numéro est généré par l'interface de programmation d'application cryptographique (CAPI).

CAPI est une interface de programmation d'application spécifique à la plate-forme Microsoft Windows incluse avec les systèmes d'exploitation Microsoft Windows qui fournit des services permettant aux développeurs de sécuriser les applications Windows à l'aide de la cryptographie.

Le CRYPT_GEN_RANDOM() La fonction accepte deux arguments :la longueur (obligatoire) et une graine (facultatif).

La valeur de retour est varbinary(8000) .

Syntaxe

La syntaxe ressemble à ceci :

CRYPT_GEN_RANDOM ( longueur [ , graine ] ) 

longueur est la longueur, en octets, du nombre à créer, et graine est un nombre hexadécimal facultatif, à utiliser comme valeur de départ aléatoire.

La longueur l'argument doit être compris entre 1 et 8000.

La longueur de la graine doit correspondre à la valeur de la longueur argument.

Exemple 1 - Utilisation de base

Voici un exemple qui crée un nombre aléatoire d'une longueur de 4 octets.

SELECT CRYPT_GEN_RANDOM(4) AS Result ;

Résultat :

+------------+| Résultat ||------------|| 0x7D6B535F |+------------+

En voici un d'une longueur de 20 octets.

SELECT CRYPT_GEN_RANDOM(20) AS Result ;

Résultat :

+-------------------------------------------------+| Résultat ||-------------------------------------------------|| 0xA56B1ADE554F48DAE55F26605AEA2E229D529BA2 |+---------------------------------------------------------+ 

Exemple 2 - Utiliser une graine

Dans cet exemple, j'ajoute une graine.

SELECT CRYPT_GEN_RANDOM(4, 0x13F18C70) AS Result ;

Résultat :

+------------+| Résultat ||------------|| 0xF36CB19D |+------------+