Udostępnij za pośrednictwem


DECRYPTBYASYMKEY (Transact-SQL)

Odszyfrowuje dane z kluczasymetrycznego.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • Asym_Key_ID
    Jest to identyfikator klucz asymetrycznego w bazie danych.Asym_Key_IDis int.

  • ciphertext
    Jest to ciąg danych niezaszyfrowanych z kluczasymetrycznego.

  • @ dekodującym
    Jest zmienną typu varbinary zawierający dane, które zostały zaszyfrowane z kluczasymetrycznego.

  • Asym_Key_Password
    To hasło, które zostało użyte do zaszyfrowania klucz asymetrycznego w bazie danych.

Zwracane typy

varbinaryMaksymalny rozmiar 8000 bajtów.

Uwagi

Szyfrowania lub odszyfrowywania z klucz asymetrycznego jest bardzo kosztowne w porównaniu z /decryption szyfrowaniesymetrycznego klucz.Nie zaleca się używania klucz asymetrycznego, podczas pracy z dużych zestawów danych, takich jak dane użytkownika w tabelach.

Uprawnienia

Wymaga uprawnienie Kontrola kluczasymetrycznego.

Przykłady

Poniższy przykład odszyfrowuje tekstu, który został zaszyfrowany za pomocą kluczasymetrycznegoJanainaAsymKey02, które są przechowywane w AdventureWorks2008R2.ProtectedData04. Zwrócone dane są odszyfrowywane przy użyciu kluczasymetrycznegoJanainaAsymKey02, odszyfrowaniu hasłem pGFD4bb925DGvbd2439587y. zwykły tekst jest konwertowany na wpisz nvarchar.

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