Compartilhar via


SIGNBYASYMKEY (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureBanco de dados SQL no Microsoft Fabric

Assina texto não criptografado com uma chave assimétrica

Convenções de sintaxe de Transact-SQL

Sintaxe

SignByAsymKey( Asym_Key_ID , @plaintext [ , 'password' ] )  

Argumentos

Asym_Key_ID
É a ID de uma chave assimétrica no banco de dados atual. Asym_Key_ID é int.

@plaintext
É uma variável do tipo nvarchar, char, varchar ou nchar que contém os dados que serão assinados com a chave assimétrica.

senha
É a senha com a qual a chave privada é protegida. A password é nvarchar(128).

Tipos de retorno

varbinary com um tamanho máximo de 8.000 bytes.

Comentários

Requer a permissão CONTROL na chave assimétrica.

Exemplos

O exemplo a seguir cria uma tabela, SignedData04, para armazenar texto não criptografado e sua assinatura. Ela insere um registro na tabela, assinada com a chave assimétrica PrimeKey, que primeiro é descriptografada com a senha 'pGFD4bb925DGvbd2439587y'.

-- Create a table in which to store the data  
CREATE TABLE [SignedData04](Description NVARCHAR(max), Data NVARCHAR(max), DataSignature VARBINARY(8000));  
GO  
-- Store data together with its signature  
DECLARE @clear_text_data NVARCHAR(max);  
set @clear_text_data = N'Important numbers 2, 3, 5, 7, 11, 13, 17,   
      19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79,  
      83, 89, 97';  
INSERT INTO [SignedData04]   
    VALUES( N'data encrypted by asymmetric key ''PrimeKey''',  
    @clear_text_data, SignByAsymKey( AsymKey_Id( 'PrimeKey' ),  
    @clear_text_data, N'pGFD4bb925DGvbd2439587y' ));  
GO  

Consulte Também

ASYMKEY_ID (Transact-SQL)
VERIFICARASSINADOBYSYMKEY (Transact-SQL)
CRIAR CHAVE ASSIMÉTRICA (Transact-SQL)
ALTERAR CHAVE ASSIMÉTRICA (Transact-SQL)
SOLTAR CHAVE ASSIMÉTRICA (Transact-SQL)
Hierarquia de criptografia