Megosztás a következőn keresztül:


DECRYPTBYCERT (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Ez a funkció a tanúsítvány privát kulcsát használja a titkosított adatok dekódolására.

Transact-SQL szintaxis konvenciók

Szemantika

DecryptByCert ( certificate_ID , { 'ciphertext' | @ciphertext }   
    [ , { 'cert_password' | @cert_password } ] )  

Arguments

certificate_ID
Az adatbázisban található tanúsítvány azonosítója. certificate_IDint adattípussal rendelkezik.

ciphertext
Az adatlánc, amelyet a tanúsítvány nyilvános kulcsával titkosított.

@ciphertext
Egy varbináris típusú változó, amely a tanúsítványsal titkosított adatokat tartalmazza.

cert_password
A tanúsítvány titkos kulcsának titkosításához használt jelszó. cert_password Unicode adatformátummal kell rendelkezniük.

@cert_password
Egy nchar vagy nvarchar típusú változó, amely tartalmazza a tanúsítvány privát kulcsának titkosításához használt jelszót. @cert_password Unicode adatformátummal kell rendelkezniük.

Visszatérési típusok

varbinary, legfeljebb 8000 bájt mérettel.

Megjegyzések

Ez a funkció az adatokat egy tanúsítvány privát kulcsával fejti le. Az aszimmetrikus kulcsokat használó kriptografikus transzformációk jelentős erőforrásokat fogyasztanak. Ezért javasoljuk, hogy a fejlesztők kerüljék az ENCRYPTBYCERT és a DECRYPTBYCERT használatát rutinszerű felhasználói adatok titkosításához / dekódolásához.

Permissions

DECRYPTBYCERT CONTROL engedélyt igényel a tanúsítványon.

Példák

Ez a példa olyan sorokat választ, amelyek [AdventureWorks2022].[ProtectedData04] eredetileg tanúsítványsal JanainaCert02titkosított adatként jelöltek . A példa először a tanúsítvány JanainaCert02 privát kulcsát a tanúsítvány pGFD4bb925DGvbd2439587yjelszóval dekódolja. Ezután a példa ezzel a privát kulmilla dekódolja a titkosított szöveget. A példa a dekódolt adatokat varbinárisbólnvarcharra alakítja.

SELECT CONVERT(NVARCHAR(max), DecryptByCert(Cert_Id('JanainaCert02'),  
    ProtectedData, N'pGFD4bb925DGvbd2439587y'))  
FROM [AdventureWorks2022].[ProtectedData04]   
WHERE Description   
    = N'data encrypted by certificate '' JanainaCert02''';  
GO  

Lásd még:

ENCRYPTBYCERT (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
MÓDOSÍTÁSI TANÚSÍTVÁNY (Transact-SQL)
LEENGEDŐ TANÚSÍTVÁNY (Transact-SQL)
BIZTONSÁGI MENTÉSI TANÚSÍTVÁNY (Transact-SQL)
Titkosítási hierarchia