ENCRYPTBYASYMKEY(Transact-SQL)

 

이 항목은 다음에 적용됩니다.예SQL Server(2008부터 시작)예Azure SQL 데이터베이스아니요Azure SQL 데이터 웨어하우스아니요병렬 데이터 웨어하우스

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

Topic link icon Transact-SQL 구문 표기 규칙

  
EncryptByAsymKey ( Asym_Key_ID , { 'plaintext' | @plaintext } )  

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

일반 텍스트
비대칭 키로 암호화될 데이터 문자열입니다.

@plaintext
유형의 변수 nvarchar, char, varchar, 이진, varbinary, 또는 nchar 비대칭 키로 암호화 될 데이터가 들어 있는 합니다.

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

비대칭 키로 암호화 및 암호 해독을 수행하면 대칭 키로 암호화 및 암호 해독을 수행하는 것보다 비용이 훨씬 많이 듭니다. 테이블의 사용자 데이터와 같은 큰 데이터 집합을 암호화하는 경우 비대칭 키를 사용하지 않는 것이 좋습니다. 대신 강력한 대칭 키를 사용하여 데이터를 암호화하고 비대칭 키를 사용하여 대칭 키를 암호화해야 합니다.

EncryptByAsymKey 반환 NULL 입력 특정 알고리즘에 따라 바이트 수를 초과 하는 경우. 제한은: 512 비트 RSA 키는 최대 53 바이트를 암호화할 수, 1024 비트 키는 최대 117 바이트를 암호화할 수 및 2048 비트 키는 최대 245 바이트를 암호화할 수 있습니다. SQL Server에서 인증서와 비대칭 키는 모두 RSA 키에 대한 래퍼입니다.

다음 예에서는 @cleartext에 저장된 텍스트를 비대칭 키 JanainaAsymKey02로 암호화합니다. 암호화된 데이터는 ProtectedData04 테이블에 삽입됩니다.

INSERT INTO AdventureWorks2012.Sales.ProtectedData04   
    VALUES( N'Data encrypted by asymmetric key ''JanainaAsymKey02''',  
    EncryptByAsymKey(AsymKey_ID('JanainaAsymKey02'), @cleartext) );  
GO  

DECRYPTBYASYMKEY (TRANSACT-SQL)
CREATE ASYMMETRIC KEY (TRANSACT-SQL)
암호화 계층

커뮤니티 추가 항목

추가
표시: