ENCRYPTBYCERT(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance
인증서의 공개 키를 사용하여 데이터를 암호화합니다.
구문
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 [AdventureWorks2022].[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)
암호화 계층