DECRYPTBYCERT (Transact-SQL)
Odszyfrowuje danych za pomocą prywatnego klucz certyfikat.
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