ENCRYPTBYPASSPHRASE(Transact-SQL)

 

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

128비트 키 길이의 TRIPLE DES 알고리즘을 사용하여 전달 구로 데이터를 암호화합니다.

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

  
EncryptByPassPhrase ( { 'passphrase' | @passphrase }   
    , { 'cleartext' | @cleartext }  
  [ , { add_authenticator | @add_authenticator }  
    , { authenticator | @authenticator } ] )  

암호
대칭 키 생성에 사용할 전달 구입니다.

@passphrase
형식 변수의 nvarchar, char, varchar, 이진, varbinary, 또는 nchar 대칭 키를 생성할 전달 구가 들어 있습니다.

일반 텍스트
암호화할 일반 텍스트입니다.

@cleartext
형식 변수의 nvarchar, char, varchar, 이진, varbinary, 또는 nchar cleartext가 들어 있는 합니다. 최대 크기는 8,000바이트입니다.

add_authenticator
인증자가 일반 텍스트와 함께 암호화될지 여부를 나타냅니다. 인증자가 추가되면 1입니다. int합니다.

@add_authenticator
해시가 일반 텍스트와 함께 암호화되는지 여부를 나타냅니다.

인증자
인증자가 파생될 데이터입니다. sysname합니다.

@authenticator
인증자가 파생될 데이터를 포함하는 변수입니다.

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

전달 구는 공백을 포함하는 암호입니다. 전달 구에는 상대적으로 긴 문자열보다 의미 있는 구나 문장이 사용되므로 기억하기가 쉽습니다.

이 함수는 암호 복잡성은 확인하지 않습니다.

다음 예에서는 SalesCreditCard 테이블의 한 레코드를 업데이트하고 기본 키를 인증자로 사용하여 CardNumber_EncryptedbyPassphrase 열에 저장된 신용 카드 번호 값을 암호화합니다.

USE AdventureWorks2012;  
GO  
-- Create a column in which to store the encrypted data.  
ALTER TABLE Sales.CreditCard   
    ADD CardNumber_EncryptedbyPassphrase varbinary(256);   
GO  
-- First get the passphrase from the user.  
DECLARE @PassphraseEnteredByUser nvarchar(128);  
SET @PassphraseEnteredByUser   
    = 'A little learning is a dangerous thing!';  
  
-- Update the record for the user's credit card.  
-- In this case, the record is number 3681.  
UPDATE Sales.CreditCard  
SET CardNumber_EncryptedbyPassphrase = EncryptByPassPhrase(@PassphraseEnteredByUser  
    , CardNumber, 1, CONVERT( varbinary, CreditCardID))  
WHERE CreditCardID = '3681';  
GO  

DECRYPTBYPASSPHRASE & #40입니다. TRANSACT-SQL )
암호화 계층

커뮤니티 추가 항목

표시: