Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Verwenden Sie CRYPT_GEN_RANDOM(), um eine kryptografische Zufallszahl in SQL Server zu erstellen

In SQL Server können Sie CRYPT_GEN_RANDOM() verwenden Funktion, um eine kryptografische, zufällig generierte Zahl zurückzugeben. Die Nummer wird vom Cryptographic Application Programming Interface (CAPI) generiert.

CAPI ist eine Microsoft Windows-Plattform-spezifische Anwendungsprogrammierschnittstelle, die in Microsoft Windows-Betriebssystemen enthalten ist und Dienste bereitstellt, mit denen Entwickler Windows-basierte Anwendungen mithilfe von Kryptografie sichern können.

Der CRYPT_GEN_RANDOM() Die Funktion akzeptiert zwei Argumente:die Länge (erforderlich) und einen Seed (optional).

Der Rückgabewert ist varbinary(8000) .

Syntax

Die Syntax lautet wie folgt:

CRYPT_GEN_RANDOM ( Länge [ , Seed ] )

Wobei Länge ist die Länge in Byte der zu erstellenden Zahl und Seed ist eine optionale Hexadezimalzahl zur Verwendung als zufälliger Ausgangswert.

Die Länge Argument muss zwischen 1 und 8000 liegen.

Die Länge des Seeds muss mit dem Wert der Länge übereinstimmen Streit.

Beispiel 1 – Grundlegende Verwendung

Hier ist ein Beispiel, das eine Zufallszahl mit einer Länge von 4 Bytes erstellt.

SELECT CRYPT_GEN_RANDOM(4) AS Result;

Ergebnis:

+------------+| Ergebnis ||------------|| 0x7D6B535F |+------------+

Hier ist eine mit einer Länge von 20 Byte.

SELECT CRYPT_GEN_RANDOM(20) AS Result;

Ergebnis:

+--------------------------------------------------+| Ergebnis ||---------------------------------------------------|| 0xA56B1ADE554F48DAE55F26605AEA2E229D529BA2 |+-------------------------------------------+ 

Beispiel 2 – Verwenden Sie einen Seed

In diesem Beispiel füge ich einen Seed hinzu.

SELECT CRYPT_GEN_RANDOM(4, 0x13F18C70) AS Result;

Ergebnis:

+------------+| Ergebnis ||------------|| 0xF36CB19D |+-----------+