Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Използвайте CRYPT_GEN_RANDOM() за създаване на криптографско, произволно число в SQL Server

В SQL Server можете да използвате CRYPT_GEN_RANDOM() функция за връщане на криптографско, произволно генерирано число. Номерът се генерира от криптографския програмен интерфейс (CAPI).

CAPI е интерфейс за програмиране на приложения, специфичен за платформата на Microsoft Windows, включен в операционните системи Microsoft Windows, който предоставя услуги, позволяващи на разработчиците да защитят базирани на Windows приложения с помощта на криптография.

CRYPT_GEN_RANDOM() функцията приема два аргумента:дължината (задължителна) и семето (по избор).

Връщаната стойност е varbinary(8000) .

Синтаксис

Синтаксисът е така:

CRYPT_GEN_RANDOM ( дължина [ , семка ] )

Където дължина е дължината, в байтове, на числото, което ще бъде създадено, и seed е незадължително шестнадесетично число, което се използва като произволна начална стойност.

Дължината аргументът трябва да е между 1 и 8000.

Дължината на семето трябва да съответства на стойността на дължината аргумент.

Пример 1 – Основна употреба

Ето пример, който създава произволно число с дължина от 4 байта.

ИЗБЕРЕТЕ CRYPT_GEN_RANDOM(4) КАТО резултат;

Резултат:

+-----------+| Резултат ||-----------|| 0x7D6B535F |+-----------+

Ето един с дължина от 20 байта.

ИЗБЕРЕТЕ CRYPT_GEN_RANDOM(20) КАТО резултат;

Резултат:

+----------------------------------------------+| Резултат ||----------------------------------------------|| 0xA56B1ADE554F48DAE55F26605AEA2E229D529BA2 |+--------------------------------------------+ 

Пример 2 – Използвайте семена

В този пример добавям семе.

ИЗБЕРЕТЕ CRYPT_GEN_RANDOM(4, 0x13F18C70) КАТО резултат;

Резултат:

+-----------+| Резултат ||-----------|| 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. @@IDENTITY, SCOPE_IDENTITY(), OUTPUT и други методи за извличане на последната самоличност

  2. Основи на оператора ALTER TABLE на SQL Server

  3. Как бързо да напишете Select Query в SQL Server - SQL Server / TSQL урок, част 108

  4. Защо винаги предпочитаме да използваме параметри в SQL изрази?

  5. SQL Server SELECT, където всяка колона съдържа 'x'