TechNet
내보내기(0) 인쇄
모두 확장

ENCRYPTBYCERT(Transact-SQL)

 

**이 항목은 다음에 적용됩니다.:** ![](../Image/Applies%20to/yes.png)SQL Server\(2008부터 시작\) ![](../Image/Applies%20to/yes.png)Azure SQL 데이터베이스 ![](../Image/Applies%20to/no.png)Azure SQL 데이터 웨어하우스 ![](../Image/Applies%20to/no.png)병렬 데이터 웨어하우스

인증서의 공개 키를 사용하여 데이터를 암호화합니다.

적용 대상: SQL Server(SQL Server 2008 - 현재 버전).

Topic link icon Transact-SQL 구문 표기 규칙

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

certificate_ID
데이터베이스에 있는 인증서 ID입니다. int.

cleartext
인증서로 암호화될 데이터 문자열입니다.

@cleartext
인증서의 공개 키로 암호화될 데이터가 들어 있는 nvarchar, char, varchar, binary, varbinary 또는 nchar 유형의 변수입니다.

최대 크기가 8,000바이트인 varbinary

이 함수는 인증서의 공개 키를 사용하여 데이터를 암호화합니다. 이러한 암호화된 텍스트는 이에 대응하는 개인 키로만 해독할 수 있습니다. 이러한 비대칭 변환은 대칭 키를 사용한 암호화 및 암호 해독에 비해 비용이 많이 듭니다. 그러므로 테이블의 사용자 데이터와 같이 큰 데이터 집합으로 작업할 경우에는 비대칭 암호화를 사용하지 않는 것이 좋습니다.

다음 예에서는 @cleartext에 저장된 일반 텍스트를 JanainaCert02라는 인증서로 암호화합니다. 암호화된 데이터는 ProtectedData04 테이블에 삽입됩니다.

INSERT INTO [AdventureWorks2012].[ProtectedData04]   
    VALUES ( N'Data encrypted by certificate ''Shipping04''',  
    EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );  
GO  

DECRYPTBYCERT(Transact-SQL)
CREATE CERTIFICATE(Transact-SQL)
ALTER CERTIFICATE(Transact-SQL)
DROP CERTIFICATE(Transact-SQL)
BACKUP CERTIFICATE(Transact-SQL)
암호화 계층

커뮤니티 추가 항목

표시:
© 2016 Microsoft