Delen via


ENCRYPTBYCERT (Transact-SQL)

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

Versleutelt gegevens met de publieke sleutel van een certificaat.

Transact-SQL syntaxis-conventies

Syntaxis

EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )  

Arguments

certificate_ID
De ID van een certificaat in de database. int.

Duidelijke tekst
Een reeks gegevens die met het certificaat versleuteld zal worden.

@cleartext
Een variabele van een van de volgende typen die gegevens bevat die versleuteld zullen worden met de publieke sleutel van het certificaat:

  • nvarchar
  • teken
  • varchar
  • binary
  • varbinary
  • nchar

Retourtypen

varbinair met een maximale grootte van 8.000 bytes.

Opmerkingen

Deze functie versleutelt gegevens met de publieke sleutel van het certificaat. De ciphertext kan alleen worden ontsleuteld met de bijbehorende privésleutel. Deze asymmetrische transformaties zijn kostbaar in vergelijking met encryptie en ontsleuteling met een symmetrische sleutel. Daarom wordt asymmetrische encryptie niet aanbevolen bij het werken met grote datasets.

Voorbeelden

Dit voorbeeld versleutelt de platte tekst die is opgeslagen in @cleartext het certificaat genaamd JanainaCert02. De versleutelde gegevens worden in tabel ProtectedData04.

INSERT INTO [AdventureWorks2022].[ProtectedData04]   
    VALUES ( N'Data encrypted by certificate ''Shipping04''',  
    EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );  
GO  

Zie ook

DECRYPTBYCERT (Transact-SQL)
CERTIFICAAT MAKEN (Transact-SQL)
ALTER CERTIFICAAT (Transact-SQL)
DROPCERTIFICAAT (Transact-SQL)
BACK-UPCERTIFICAAT (Transact-SQL)
Versleutelingshiërarchie