Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Deze functie gebruikt de privésleutel van een certificaat om versleutelde gegevens te ontsleutelen.
Transact-SQL syntaxis-conventies
Syntaxis
DecryptByCert ( certificate_ID , { 'ciphertext' | @ciphertext }
[ , { 'cert_password' | @cert_password } ] )
Arguments
certificate_ID
De ID van een certificaat in de database.
certificate_ID heeft een int datatype.
coderingstekst
De gegevensreeks die is versleuteld met de publieke sleutel van het certificaat.
@ciphertext
Een variabele van het type varbinary die gegevens bevat die met het certificaat is versleuteld.
cert_password
Het wachtwoord dat wordt gebruikt om de persoonlijke sleutel van het certificaat te versleutelen.
cert_password moet een Unicode-dataformaat hebben.
@cert_password
Een variabele van het type nchar of nvarchar met het wachtwoord dat wordt gebruikt om de privésleutel van het certificaat te versleutelen.
@cert_password moet een Unicode-dataformaat hebben.
Retourtypen
varbinary, met een maximale grootte van 8.000 bytes.
Opmerkingen
Deze functie ontsleutelt gegevens met de privésleutel van een certificaat. Cryptografische transformaties die asymmetrische sleutels gebruiken, verbruiken aanzienlijke middelen. Daarom raden we aan dat ontwikkelaars het gebruik van ENCRYPTBYCERT en DECRYPTBYCERT vermijden voor routinematige gebruikersgegevensversleuteling / -ontsleuteling.
Permissions
DECRYPTBYCERT vereist CONTROL-toestemming op het certificaat.
Voorbeelden
Dit voorbeeld selecteert rijen uit die [AdventureWorks2022].[ProtectedData04] oorspronkelijk als data zijn gemarkeerd door certificaat JanainaCert02. Het voorbeeld ontsleutelt eerst de privésleutel van het certificaat JanainaCert02 met het wachtwoord van certificaat pGFD4bb925DGvbd2439587y. Vervolgens ontsleutelt het voorbeeld de ciphertext met deze privésleutel. Het voorbeeld zet de ontsleutelde data om van varbinary naar nvarchar.
SELECT CONVERT(NVARCHAR(max), DecryptByCert(Cert_Id('JanainaCert02'),
ProtectedData, N'pGFD4bb925DGvbd2439587y'))
FROM [AdventureWorks2022].[ProtectedData04]
WHERE Description
= N'data encrypted by certificate '' JanainaCert02''';
GO
Zie ook
ENCRYPTBYCERT (Transact-SQL)
CERTIFICAAT MAKEN (Transact-SQL)
ALTER CERTIFICAAT (Transact-SQL)
DROPCERTIFICAAT (Transact-SQL)
BACK-UPCERTIFICAAT (Transact-SQL)
Versleutelingshiërarchie