다음을 통해 공유


DECRYPTBYASYMKEY(Transact-SQL)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance

이 함수는 대칭 키를 사용하여 암호화된 데이터의 암호를 해독합니다.

Transact-SQL 구문 표기 규칙

구문

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

인수

Asym_Key_ID
데이터베이스에 있는 비대칭 키의 ID입니다. Asym_Key_IDint 데이터 형식을 갖습니다.

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

@ciphertext
비대칭 키로 암호화된 데이터를 포함하는 varbinary 형식의 변수입니다.

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

반환 형식

최대 크기가 8,000바이트인 varbinary입니다.

설명

대칭 암호화/암호 해독, 비대칭 키 암호화/암호 해독과 비교하여 비용이 많습니다. 큰 데이터 세트를 작업할 때(예: 테이블에 저장된 사용자 데이터) 개발자는 비대칭 키 암호화/암호 해독을 피하는 것이 좋습니다.

사용 권한

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

예제

이 예제에서는 비대칭 키 JanainaAsymKey02로 원래 암호화된 암호 텍스트를 해독합니다. AdventureWorks2022.ProtectedData04는 이 비대칭 키를 저장했습니다. 이 예제에서는 비대칭 키 JanainaAsymKey02로 반환된 데이터를 암호 해독합니다. 예제에서는 암호 pGFD4bb925DGvbd2439587y를 사용하여 이 비대칭 키를 암호 해독했습니다. 예제에서는 반환된 일반 텍스트를 nvarchar 형식으로 변환했습니다.

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

참고 항목

ENCRYPTBYASYMKEY(Transact-SQL)
CREATE ASYMMETRIC KEY(Transact-SQL)
ALTER ASYMMETRIC KEY(Transact-SQL)
DROP ASYMMETRIC KEY(Transact-SQL)
암호화 알고리즘 선택
암호화 계층