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 ] )
Où 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 |+------------+