Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Użyj CRYPT_GEN_RANDOM(), aby utworzyć kryptograficzną, losową liczbę w SQL Server

W SQL Server możesz użyć CRYPT_GEN_RANDOM() funkcja zwracająca kryptograficzną, losowo generowaną liczbę. Numer jest generowany przez Cryptographic Application Programming Interface (CAPI).

CAPI to specyficzny dla platformy Microsoft Windows interfejs programowania aplikacji dołączony do systemów operacyjnych Microsoft Windows, który zapewnia usługi umożliwiające programistom zabezpieczanie aplikacji opartych na systemie Windows za pomocą kryptografii.

CRYPT_GEN_RANDOM() funkcja przyjmuje dwa argumenty:długość (wymagane) i ziarno (opcjonalne).

Zwracana wartość to varbinary(8000) .

Składnia

Składnia wygląda tak:

CRYPT_GEN_RANDOM ( length [ , seed ] )

Gdzie długość to długość w bajtach liczby, która ma zostać utworzona, a ziarno jest opcjonalną liczbą szesnastkową, używaną jako losowa wartość inicjatora.

długość argument musi zawierać się w przedziale od 1 do 8000.

Długość ziarna musi odpowiadać wartości długości argument.

Przykład 1 – Podstawowe użycie

Oto przykład, który tworzy liczbę losową o długości 4 bajtów.

SELECT CRYPT_GEN_RANDOM(4) AS Result;

Wynik:

+------------+
| Result     |
|------------|
| 0x7D6B535F |
+------------+

Oto jeden o długości 20 bajtów.

SELECT CRYPT_GEN_RANDOM(20) AS Result;

Wynik:

+--------------------------------------------+
| Result                                     |
|--------------------------------------------|
| 0xA56B1ADE554F48DAE55F26605AEA2E229D529BA2 |
+--------------------------------------------+

Przykład 2 – Użyj nasion

W tym przykładzie dodaję ziarno.

SELECT CRYPT_GEN_RANDOM(4, 0x13F18C70) AS Result;

Wynik:

+------------+
| Result     |
|------------|
| 0xF36CB19D |
+------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TransactSQL do uruchomienia innego skryptu TransactSQL

  2. Brak wsparcia dla OVER w MS SQL Server 2005?

  3. Jak połączyć się z MS SQL Server za pomocą Inno Setup?

  4. Usuwanie zapamiętanej listy loginów i haseł w SQL Server Management Studio

  5. Najlepszy sposób na wykonanie zagnieżdżonej logiki instrukcji case w SQL Server