sql >> Databáze >  >> RDS >> Sqlserver

Pomocí CRYPT_GEN_RANDOM() vytvořte kryptografické náhodné číslo na serveru SQL Server

V SQL Server můžete použít CRYPT_GEN_RANDOM() funkce pro vrácení kryptografického, náhodně vygenerovaného čísla. Číslo je generováno rozhraním CAPI (Cryptographic Application Programming Interface).

CAPI je aplikační programovací rozhraní specifické pro platformu Microsoft Windows, které je součástí operačních systémů Microsoft Windows a poskytuje služby umožňující vývojářům zabezpečit aplikace založené na systému Windows pomocí kryptografie.

CRYPT_GEN_RANDOM() funkce přijímá dva argumenty:délku (povinné) a semeno (volitelné).

Vrácená hodnota je varbinary(8000) .

Syntaxe

Syntaxe vypadá takto:

CRYPT_GEN_RANDOM ( délka [ , jádro ] )

Kde délka je délka v bajtech čísla, které má být vytvořeno, a semena je volitelné hexadecimální číslo pro použití jako náhodná počáteční hodnota.

délka argument musí být mezi 1 a 8000.

Délka semena musí odpovídat hodnotě délka argument.

Příklad 1 – Základní použití

Zde je příklad, který vytvoří náhodné číslo o délce 4 bajtů.

SELECT CRYPT_GEN_RANDOM(4) AS Result;

Výsledek:

+-------------+| Výsledek ||-------------|| 0x7D6B535F |+------------+

Zde je jeden o délce 20 bajtů.

SELECT CRYPT_GEN_RANDOM(20) AS Result;

Výsledek:

+--------------------------------------------+| Výsledek ||--------------------------------------------|| 0xA56B1ADE554F48DAE55F26605AEA2E229D529BA2 |+---------------------------------------------+ 

Příklad 2 – Použití semena

V tomto příkladu přidám seed.

SELECT CRYPT_GEN_RANDOM(4, 0x13F18C70) AS Result;

Výsledek:

+-------------+| Výsledek ||-------------|| 0xF36CB19D |+------------+

  1. AKTUALIZACE pomocí CASE a IN - Oracle

  2. Nelze nainstalovat pg gem na Windows

  3. Slide decky a vzorky z #SQLintersection

  4. Jak funguje IsFinite() v PostgreSQL