Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Kryptera data med en lösenfras med hjälp av TRIPLE DES-algoritmen med en bit på 128 nyckelr.
Anmärkning
SQL Server 2017 och senare versioner krypterar data med en lösenfras med en AES256-nyckel.
Transact-SQL syntaxkonventioner
Syntax
EncryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'cleartext' | @cleartext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Arguments
Lösenfras
En lösenfras för att generera en symmetrisk nyckel.
@passphrase
En variabel av typen nvarchar, char, varchar, binär, varbinär eller nchar som innehåller en lösenfras för att generera en symmetrisk nyckel.
Klartext
Klartexten ska krypteras.
@cleartext
En variabel av typen nvarchar, char, varchar, binär, varbinär eller nchar som innehåller klartexten. Maxstorleken är 8 000 byte.
add_authenticator
Anger om en autentisator kommer att krypteras tillsammans med klartexten. 1 om en autentiserare kommer att läggas till.
int.
@add_authenticator
Anger om en hash kommer att krypteras tillsammans med klartexten.
autentiserare
Data som man kan härleda en autentisator från.
Sysname.
@authenticator
En variabel som innehåller data från vilken man kan härleda en autentisator.
Returtyper
varbinär med maximal storlek på 8 000 byte.
Anmärkningar
En lösenfras är ett lösenord som inkluderar mellanslag. Fördelen med att använda en lösenfras är att det är lättare att komma ihåg en meningsfull fras eller mening än att minnas en lika lång teckenkedja.
Denna funktion kontrollerar inte lösenordets komplexitet.
Examples
Följande exempel uppdaterar en post i SalesCreditCard tabellen och krypterar värdet på kreditkortsnumret som lagras i kolumnen CardNumber_EncryptedbyPassphrase, med primärnyckeln som autentisering.
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