DECRYPTBYASYMKEY(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