In SQL Server kunt u de CRYPT_GEN_RANDOM()
functie om een cryptografisch, willekeurig gegenereerd getal terug te geven. Het nummer wordt gegenereerd door de Cryptographic Application Programming Interface (CAPI).
CAPI is een Microsoft Windows-platformspecifieke applicatieprogrammeerinterface die wordt meegeleverd met Microsoft Windows-besturingssystemen en die services biedt waarmee ontwikkelaars op Windows gebaseerde applicaties kunnen beveiligen met behulp van cryptografie.
De CRYPT_GEN_RANDOM()
functie accepteert twee argumenten:de lengte (vereist) en een seed (optioneel).
De geretourneerde waarde is varbinary(8000) .
Syntaxis
De syntaxis gaat als volgt:
CRYPT_GEN_RANDOM ( length [ , seed ] )
Waar lengte is de lengte, in bytes, van het aan te maken nummer, en seed is een optioneel hexadecimaal getal, voor gebruik als een willekeurige beginwaarde.
De lengte argument moet tussen 1 en 8000 liggen.
De lengte van zaad moet overeenkomen met de waarde van de lengte argument.
Voorbeeld 1 – Basisgebruik
Hier is een voorbeeld dat een willekeurig getal maakt met een lengte van 4 bytes.
SELECT CRYPT_GEN_RANDOM(4) AS Result;
Resultaat:
+------------+ | Result | |------------| | 0x7D6B535F | +------------+
Hier is er een met een lengte van 20 bytes.
SELECT CRYPT_GEN_RANDOM(20) AS Result;
Resultaat:
+--------------------------------------------+ | Result | |--------------------------------------------| | 0xA56B1ADE554F48DAE55F26605AEA2E229D529BA2 | +--------------------------------------------+
Voorbeeld 2 – Gebruik een zaadje
In dit voorbeeld voeg ik een seed toe.
SELECT CRYPT_GEN_RANDOM(4, 0x13F18C70) AS Result;
Resultaat:
+------------+ | Result | |------------| | 0xF36CB19D | +------------+