Udostępnij za pośrednictwem


ENCRYPTBYCERT (Transact-SQL)

Dane są szyfrowane przy użyciu klucz publicznego z certyfikat.

Topic link iconKonwencje składni języka Transact-SQL

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, które będą szyfrowane przy użyciu klucz publicznego z certyfikat.

Zwracane typy

varbinary Maksymalny rozmiar 8000 bajtów.

Remarks

Ta funkcja szyfruje dane za pomocą klucz publicznego z certyfikat.Szyfrowany mogą być odszyfrowane tylko za pomocą odpowiedniego klucz prywatnego.Takie asymetrycznego przekształceń są bardzo kosztowne w porównaniu do szyfrowanie i odszyfrowywania klucz zawartości.Szyfrowanie asymetryczne z tego względu nie zaleca się 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 przechowywanych w @cleartext przy użyciu certyfikat o nazwie JanainaCert02. Do tabela zostanie wstawiony zaszyfrowanych danych ProtectedData04.

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