Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Šifrujte data pomocí heslové fráze pomocí algoritmu TRIPLE DES s délkou bitů 128 klíčů.
Poznámka:
SQL Server 2017 a pozdější verze šifrují data pomocí heslové fráze pomocí klíče AES256.
Syntaxe
EncryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'cleartext' | @cleartext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Arguments
Heslo
Heslo, ze kterého lze vygenerovat symetrický klíč.
@passphrase
Proměnná typu nvarchar, char, varchar, binární, varbinární nebo nchar obsahující heslo pro generování symetrického klíče.
Čistý text
Čistý text je třeba zašifrovat.
@cleartext
Proměnná typu nvarchar, char, varchar, binární, varbinární nebo nchar obsahující čistý text. Maximální velikost je 8 000 bajtů.
add_authenticator
Označuje, zda bude autentizátor zašifrován spolu s čistým textem. 1, pokud bude přidán autentizátor.
int.
@add_authenticator
Označuje, zda bude hash zašifrován spolu s otevřeným textem.
autentikátor
Dat, ze kterých lze odvodit autentizátor.
Sysname.
@authenticator
Proměnná obsahující data, ze kterých lze odvodit autentizátor.
Návratové typy
varbinární s maximální velikostí 8 000 bajtů.
Poznámky
Heslo je heslo, které obsahuje mezery. Výhodou použití heslové fráze je, že je snazší si zapamatovat smysluplnou frázi nebo větu než si zapamatovat srovnatelně dlouhý řetězec znaků.
Tato funkce nekontroluje složitost hesel.
Examples
Následující příklad aktualizuje záznam v SalesCreditCard tabulce a šifruje hodnotu čísla kreditní karty uložené ve sloupci CardNumber_EncryptedbyPassphrase, přičemž jako autentizátor používá primární klíč.
USE AdventureWorks2022;
GO
-- Create a column in which to store the encrypted data.
ALTER TABLE Sales.CreditCard
ADD CardNumber_EncryptedbyPassphrase VARBINARY(256);
GO
-- First get the passphrase from the user.
DECLARE @PassphraseEnteredByUser NVARCHAR(128);
SET @PassphraseEnteredByUser
= 'A little learning is a dangerous thing!';
-- Update the record for the user's credit card.
-- In this case, the record is number 3681.
UPDATE Sales.CreditCard
SET CardNumber_EncryptedbyPassphrase = EncryptByPassPhrase(@PassphraseEnteredByUser
, CardNumber, 1, CONVERT(varbinary, CreditCardID))
WHERE CreditCardID = '3681';
GO