sql >> Databasteknik >  >> RDS >> Sqlserver

Använd CRYPT_GEN_RANDOM() för att skapa ett kryptografiskt slumptal i SQL Server

I SQL Server kan du använda CRYPT_GEN_RANDOM() funktion för att returnera ett kryptografiskt, slumpmässigt genererat nummer. Numret genereras av Cryptographic Application Programming Interface (CAPI).

CAPI är ett Microsoft Windows-plattformsspecifikt applikationsprogrammeringsgränssnitt som ingår i Microsoft Windows-operativsystem som tillhandahåller tjänster som gör det möjligt för utvecklare att säkra Windows-baserade applikationer med hjälp av kryptografi.

CRYPT_GEN_RANDOM() funktion accepterar två argument:längden (obligatoriskt) och ett frö (valfritt).

Returvärdet är varbinary(8000) .

Syntax

Syntaxen ser ut så här:

CRYPT_GEN_RANDOM ( längd [ , frö ] )

Där längd är längden, i byte, på numret som ska skapas och frö är ett valfritt hexadecimalt tal, för användning som ett slumpmässigt startvärde.

längden argumentet måste vara mellan 1 och 8000.

Längden på frö måste matcha värdet på längden argument.

Exempel 1 – Grundläggande användning

Här är ett exempel som skapar ett slumptal med en längd på 4 byte.

VÄLJ CRYPT_GEN_RANDOM(4) SOM Resultat;

Resultat:

+------------+| Resultat ||------------|| 0x7D6B535F |+------------+

Här är en med en längd på 20 byte.

VÄLJ CRYPT_GEN_RANDOM(20) SOM Resultat;

Resultat:

+----------------------------------------------------+| Resultat ||----------------------------------------------------|| 0xA56B1ADE554F48DAE55F26605AEA2E229D529BA2 |+---------------------------------------------------+ 

Exempel 2 – Använd ett frö

I det här exemplet lägger jag till ett frö.

VÄLJ CRYPT_GEN_RANDOM(4, 0x13F18C70) SOM Resultat;

Resultat:

+------------+| Resultat ||------------|| 0xF36CB19D |+------------+

  1. Inte lika <> !=operator på NULL

  2. SQL LocalDB vs SQL Server CE

  3. konstig teckenkodning av lagrad data, gammalt skript visar dem bra, nytt gör det inte

  4. CriteriaQuery månad och år filter