Udostępnij za pośrednictwem


ENCRYPTBYCERT (Transact-SQL)

Szyfruje dane za pomocą publicznego klucz certyfikat.

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

Składnia

EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )

Argumenty

  • certificate_ID
    Identyfikator certyfikat w bazie danych.int.

  • cleartext
    ciąg danych, które będą szyfrowane przy użyciu certyfikat.

  • @zwykły tekst
    Zmienna typu nvarchar, char, varchar, binary, varbinary, lub nchar zawierającego dane będą szyfrowane przy użyciu publicznego klucz certyfikat.

Zwracane typy

varbinaryMaksymalny rozmiar 8000 bajtów.

Uwagi

Ta funkcja szyfruje dane za pomocą publicznego klucz certyfikat.Szyfrowany można odszyfrować tylko z odpowiedniego kluczprywatnego.Takie asymetrycznego przekształcenia są bardzo kosztowne w porównaniu do szyfrowanie i odszyfrowywania przy użyciu kluczsymetrycznego.szyfrowanie asymetryczne w związku z tym nie jest zalecane podczas pracy z dużych zestawów danych, takich jak dane użytkownika w tabelach.

Przykłady

W tym przykładzie są szyfrowane zwykły tekst , przechowywane w @cleartext z certyfikat o nazwie JanainaCert02.Zaszyfrowane dane do tabelazostanie wstawionyProtectedData04.

INSERT INTO [AdventureWorks2008R2].[ProtectedData04] 
    values( N'data encrypted by certificate ''Shipping04''',
    EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );
GO