DECRYPTBYASYMKEY(Transact-SQL)

비대칭 키를 사용하여 데이터의 암호를 해독합니다.

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

구문

DecryptByAsymKey (Asym_Key_ID , { 'ciphertext' | @ciphertext } 
    [ , 'Asym_Key_Password' ] )

인수

  • Asym_Key_ID
    데이터베이스에 있는 비대칭 키의 ID입니다. Asym_Key_ID는 int입니다.

  • ciphertext
    비대칭 키로 암호화된 데이터 문자열입니다.

  • @ciphertext
    비대칭 키로 암호화된 데이터가 들어 있는 varbinary 유형의 변수입니다.

  • Asym_Key_Password
    데이터베이스에서 비대칭 키를 암호화하는 데 사용된 암호입니다.

반환 형식

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

주의

비대칭 키로 암호화/암호 해독을 수행하면 대칭 키로 암호화/암호 해독을 수행하는 것보다 비용이 훨씬 많이 듭니다. 테이블의 사용자 데이터와 같이 큰 데이터 집합으로 작업할 경우에는 비대칭 키를 사용하지 않는 것이 좋습니다.

사용 권한

비대칭 키에 대한 CONTROL 권한이 필요합니다.

다음 예에서는 AdventureWorks.ProtectedData04에 저장되어 있는 JanainaAsymKey02 비대칭 키로 암호화된 텍스트를 해독합니다. 반환되는 데이터는 pGFD4bb925DGvbd2439587y 암호로 해독된 JanainaAsymKey02 비대칭 키를 사용하여 해독됩니다. 일반 텍스트는 nvarchar 형식으로 변환됩니다.

SELECT CONVERT(nvarchar(max),
    DecryptByAsymKey( AsymKey_Id('JanainaAsymKey02'), 
    ProtectedData, N'pGFD4bb925DGvbd2439587y' )) 
AS DecryptedData 
FROM [AdventureWorks].[Sales].[ProtectedData04] 
WHERE Description = N'encrypted by asym key''JanainaAsymKey02''';
GO