ENCRYPTBYPASSPHRASE (Transact-SQL)ENCRYPTBYPASSPHRASE (Transact-SQL)

SE APLICA A: síSQL Server (a partir de 2008) síAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Cifra datos mediante una frase de contraseña usando el algoritmo TRIPLE DES con una longitud de clave de 128 bits.Encrypt data with a passphrase using the TRIPLE DES algorithm with a 128 key bit length.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax


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

ArgumentosArguments

passphrasepassphrase
Frase de contraseña a partir de la cual se genera una clave simétrica.A passphrase from which to generate a symmetric key.

@passphrase
Variable de tipo nvarchar, char, varchar, binary, varbinary o nchar que contiene una frase de contraseña a partir de la cual se genera una clave simétrica.A variable of type nvarchar, char, varchar, binary, varbinary, or nchar containing a passphrase from which to generate a symmetric key.

cleartextcleartext
Texto no cifrado que se va a cifrar.The cleartext to be encrypted.

@cleartext
Una variable de tipo nvarchar, char, varchar, binary, varbinary o nchar que contiene el texto sin cifrar.A variable of type nvarchar, char, varchar, binary, varbinary, or nchar containing the cleartext. El tamaño máximo es de 8.000 bytes.Maximum size is 8,000 bytes.

add_authenticatoradd_authenticator
Indica si se cifrará un autenticador junto con el texto sin cifrar.Indicates whether an authenticator will be encrypted together with the cleartext. 1 si se va a agregar un autenticador.1 if an authenticator will be added. int.int.

@add_authenticator
Indica si se cifrará un hash junto con el texto no cifrado.Indicates whether a hash will be encrypted together with the cleartext.

authenticatorauthenticator
Datos a partir de los cuales se obtiene un autenticador.Data from which to derive an authenticator. sysname.sysname.

@authenticator
Variable que contiene datos a partir de los cuales se obtiene un autenticador.A variable containing data from which to derive an authenticator.

Tipos devueltosReturn Types

varbinary con un tamaño máximo de 8000 bytes.varbinary with maximum size of 8,000 bytes.

NotasRemarks

Una frase de contraseña es una contraseña que incluye espacios.A passphrase is a password that includes spaces. La ventaja de usar una frase de contraseña es que es más fácil recordar una frase con significado que una cadena larga de caracteres.The advantage of using a passphrase is that it is easier to remember a meaningful phrase or sentence than to remember a comparably long string of characters.

Esta función no comprueba la complejidad de la contraseña.This function does not check password complexity.

EjemplosExamples

En el ejemplo siguiente se actualiza un registro de la tabla SalesCreditCard y se cifra el valor del número de la tarjeta de crédito almacenado en la columna CardNumber_EncryptedbyPassphrase utilizando la clave principal como un autenticador.The following example updates a record in the SalesCreditCard table and encrypts the value of the credit card number stored in column CardNumber_EncryptedbyPassphrase, using the primary key as an authenticator.

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  

Ver tambiénSee Also

DECRYPTBYPASSPHRASE (Transact-SQL) DECRYPTBYPASSPHRASE (Transact-SQL)
Jerarquía de cifradoEncryption Hierarchy