Udostępnij za pośrednictwem


DECRYPTBYCERT (Transact-SQL)

Odszyfrowuje danych za pomocą prywatnego klucz certyfikat.

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

Składnia

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

Argumenty

  • certificate_ID
    Jest to identyfikator certyfikat w bazie danych.certificate_ID is int.

  • ciphertext
    To ciąg danych, które zostały zaszyfrowane przy użyciu publicznego klucz certyfikat.

  • @ dekodującym
    Jest zmienną typu varbinary zawierający dane, które zostały zaszyfrowane przy użyciu certyfikat.

  • cert_password
    Jest to hasło użyte do zaszyfrowania prywatnego klucz certyfikat.Musi być Unicode.

  • @ cert_password
    Jest zmienną typu nchar lub nvarchar zawiera hasło, które zostało użyte do zaszyfrowania prywatnego klucz certyfikat.Musi być Unicode.

Zwracane typy

varbinaryMaksymalny rozmiar 8000 bajtów.

Uwagi

Ta funkcja odszyfrowuje danych za pomocą prywatnego klucz certyfikat.Kryptograficzne przekształcenia, które używają kluczy asymetrycznych zużywać znaczne środki.W związku z tym EncryptByCert i DecryptByCert nie są dostosowane do rutynowych szyfrowanie danych użytkownika.

Uprawnienia

Wymaga uprawnienie Kontrola certyfikat.

Przykłady

Poniższy przykład wybiera wiersze z [AdventureWorks2008R2].[ProtectedData04] , są oznaczone jako data encrypted by certificate JanainaCert02.Przykład odszyfrowuje szyfrowany przy użyciu prywatnego klucz certyfikat JanainaCert02, którego najpierw odszyfrowuje hasło certyfikat pGFD4bb925DGvbd2439587y.Odszyfrowanie danych jest konwertowana z varbinary do nvarchar.

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