sql >> Database teknologi >  >> RDS >> Sqlserver

Brug CRYPT_GEN_RANDOM() til at oprette et kryptografisk, tilfældigt tal i SQL Server

I SQL Server kan du bruge CRYPT_GEN_RANDOM() funktion til at returnere et kryptografisk, tilfældigt genereret tal. Nummeret genereres af Cryptographic Application Programming Interface (CAPI).

CAPI er en Microsoft Windows-platformspecifik applikationsprogrammeringsgrænseflade, der er inkluderet i Microsoft Windows-operativsystemer, der leverer tjenester, der gør det muligt for udviklere at sikre Windows-baserede applikationer ved hjælp af kryptografi.

CRYPT_GEN_RANDOM() funktion accepterer to argumenter:længden (påkrævet) og et frø (valgfrit).

Returværdien er varbinary(8000) .

Syntaks

Syntaksen ser sådan ud:

CRYPT_GEN_RANDOM ( længde [ , frø ] )

Hvor længde er længden, i bytes, af det nummer, der skal oprettes, og seed er et valgfrit hexadecimalt tal, til brug som en tilfældig startværdi.

længden argumentet skal være mellem 1 og 8000.

Længden af ​​frø skal matche værdien af ​​længden argument.

Eksempel 1 – Grundlæggende brug

Her er et eksempel, der opretter et tilfældigt tal med en længde på 4 bytes.

VÆLG CRYPT_GEN_RANDOM(4) SOM Resultat;

Resultat:

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

Her er en med en længde på 20 bytes.

VÆLG CRYPT_GEN_RANDOM(20) SOM resultat;

Resultat:

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

Eksempel 2 – Brug et frø

I dette eksempel tilføjer jeg et frø.

VÆLG CRYPT_GEN_RANDOM(4, 0x13F18C70) SOM resultat;

Resultat:

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

  1. Konvertering af en dato i MySQL fra strengfelt

  2. Har Mysql en ækvivalent til @@ROWCOUNT som i mssql?

  3. Indsæt, ved dubletopdatering i PostgreSQL?

  4. Sådan fungerer SQLite Quote()