Sdílet prostřednictvím


DECRYPTBYASYMKEY (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Tato funkce používá asymetrický klíč k dešifrování šifrovaných dat.

Transact-SQL konvence syntaxe

Syntaxe

DecryptByAsymKey (Asym_Key_ID , { 'ciphertext' | @ciphertext }   
    [ , 'Asym_Key_Password' ] )  

Arguments

Asym_Key_ID
ID asymetrického klíče v databázi. Asym_Key_ID má typ dat int .

Ciphertext
Řetězec dat zašifrovaný asymetrickým klíčem.

@ciphertext
Proměnná typu varbinární, obsahující data zašifrovaná asymetrickým klíčem.

Asym_Key_Password
Heslo použité k zašifrování asymetrického klíče v databázi.

Návratové typy

varbinary, s maximální velikostí 8 000 bajtů.

Poznámky

Ve srovnání se symetrickým šifrováním/dešifrováním má šifrování / dešifrování asymetrického klíče vysoké náklady. Při práci s velkými datovými sadami – například uživatelskými daty uloženými v tabulkách – doporučujeme vývojářům vyhnout se asymetrickému šifrování / dešifrování klíčů.

Povolení

DECRYPTBYASYMKEY vyžaduje povolení CONTROL na asymetrický klíč.

Examples

Tento příklad dešifruje šifrovaný text původně zašifrovaný asymetrickým klíčem JanainaAsymKey02. AdventureWorks2022.ProtectedData04 ukládal tento asymetrický klíč. Příklad dešifroval vrácená data pomocí asymetrického klíče JanainaAsymKey02. Příklad použil heslo pGFD4bb925DGvbd2439587y k dešifrování tohoto asymetrického klíče. Příklad převedl vrácený otevřený text na typ nvarchar.

SELECT CONVERT(NVARCHAR(max),  
    DecryptByAsymKey( AsymKey_Id('JanainaAsymKey02'),   
    ProtectedData, N'pGFD4bb925DGvbd2439587y' ))   
AS DecryptedData   
FROM [AdventureWorks2022].[Sales].[ProtectedData04]   
WHERE Description = N'encrypted by asym key''JanainaAsymKey02''';  
GO  

Viz také

ENCRYPTBYASYMKEY (Transact-SQL)
VYTVOŘIT ASYMETRICKÝ KLÍČ (Transact-SQL)
ALTER ASYMETRICKÝ KLÍČ (Transact-SQL)
DROP ASYMETRICKÝ KLÍČ (Transact-SQL)
Volba šifrovacího algoritmu
Hierarchie šifrování