Delen via


ENCRYPTBYPASSPHRASE (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Versleutel gegevens met een wachtwoord met het TRIPLE DES-algoritme met een bitlengte van 128 sleutels.

Opmerking

SQL Server 2017 en latere versies versleutelen gegevens met een toegangszin met behulp van een AES256-sleutel.

Transact-SQL syntaxis-conventies

Syntaxis

EncryptByPassPhrase ( { 'passphrase' | @passphrase }   
    , { 'cleartext' | @cleartext }  
  [ , { add_authenticator | @add_authenticator }  
    , { authenticator | @authenticator } ] )  

Arguments

Wachtwoord
Een wachtwoord waaruit een symmetrische sleutel wordt gegenereerd.

@passphrase
Een variabele van het type nvarchar, char, varchar, binary, varbinary of nchar die een passphrase bevat waaruit een symmetrische sleutel gegenereerd kan worden.

Duidelijke tekst
De te versleutelen duidelijke tekst.

@cleartext
Een variabele van het type nvarchar, char, varchar, binair, varbinair of nchar die de cleartext bevat. De maximale grootte is 8.000 bytes.

add_authenticator
Geeft aan of een authenticator samen met de cleartext versleuteld zal zijn. 1 als er een authenticator wordt toegevoegd. int.

@add_authenticator
Geeft aan of een hash samen met de cleartext wordt versleuteld.

Verificator
Data waaruit een authenticator kan worden afgeleid. Systeemnaam.

@authenticator
Een variabele met gegevens waaruit een authenticator kan worden afgeleid.

Retourtypen

varbinary met een maximale grootte van 8.000 bytes.

Opmerkingen

Een wachtwoord is een wachtwoord dat spaties bevat. Het voordeel van het gebruik van een wachtwoordzin is dat het makkelijker is om een betekenisvolle zin of zin te onthouden dan een relatief lange reeks tekens.

Deze functie controleert de wachtwoordcomplexiteit niet.

Voorbeelden

Het volgende voorbeeld werkt een record in de SalesCreditCard tabel bij en versleutelt de waarde van het creditcardnummer dat in de kolom CardNumber_EncryptedbyPassphraseis opgeslagen, waarbij de primaire sleutel als authenticator wordt gebruikt.

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  

Zie ook

DECRYPTBYPASSPHRASE (Transact-SQL)
Versleutelingshiërarchie