문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

DECRYPTBYCERT(Transact-SQL)

인증서의 개인 키로 데이터의 암호를 해독합니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

DecryptByCert ( certificate_ID , { 'ciphertext' | @ciphertext } 
    [ , { 'cert_password' | @cert_password } ] )

certificate_ID

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

ciphertext

인증서의 공개 키로 암호화된 데이터의 문자열입니다.

@ciphertext

인증서로 암호화된 데이터를 포함하는 varbinary 유형 변수입니다.

cert_password

인증서의 개인 키를 암호화하는 데 사용된 암호입니다. 유니코드여야 합니다.

@cert_password

인증서의 개인 키를 암호화하는 데 사용된 암호를 포함하는 nchar 또는 nvarchar 형식의 변수입니다. 유니코드여야 합니다.

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

이 함수는 인증서의 개인 키로 데이터의 암호를 해독합니다. 비대칭 키를 사용하는 암호화 변환에는 상당한 리소스가 사용됩니다. 따라서 EncryptByCert 및 DecryptByCert는 사용자 데이터의 일상적인 암호화에 적합하지 않습니다.

인증서에 대한 CONTROL 권한이 필요합니다.

다음 예에서는 [AdventureWorks2012].[ProtectedData04]에서 data encrypted by certificate JanainaCert02로 표시된 행을 선택합니다. 먼저 인증서 pGFD4bb925DGvbd2439587y의 암호로 해독하는 인증서 JanainaCert02의 기본 키로 ciphertext를 해독합니다. 암호가 해독된 데이터는 varbinary에서 nvarchar로 변환됩니다.

SELECT convert(nvarchar(max), DecryptByCert(Cert_Id('JanainaCert02'),
    ProtectedData, N'pGFD4bb925DGvbd2439587y'))
FROM [AdventureWorks2012].[ProtectedData04] 
WHERE Description 
    = N'data encrypted by certificate '' JanainaCert02''';
GO

커뮤니티 추가 항목

추가
표시: