DECRYPTBYASYMKEY(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance
이 함수는 대칭 키를 사용하여 암호화된 데이터의 암호를 해독합니다.
구문
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입니다.
설명
대칭 암호화/암호 해독, 비대칭 키 암호화/암호 해독과 비교하여 비용이 많습니다. 큰 데이터 세트를 작업할 때(예: 테이블에 저장된 사용자 데이터) 개발자는 비대칭 키 암호화/암호 해독을 피하는 것이 좋습니다.
사용 권한
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)
암호화 알고리즘 선택
암호화 계층