Inquiridor
Descriptografia AES 128 ECB

Discussão Geral
-
Todas as Respostas
-
-
-
-
-
-
-
Paty,
Você não possui nenhum certificado de criptografia em seu servidor SQL Server?
Poderia nos descrever melhor a sua necessidade e o que realmente esta fazendo para tentar resolver.
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-
Ola,
Tentei os dois sites que me passaram, mas quando coloco os dados não chega na mesma informação que tenho.
Atualmente estou usando um site para isso, mas só consigo descriptografar um, por um, e isso é inviável, tenho mais de 150 mil linhas na minha tabela.
Não temos nenhum certificado de criptografia, nunca usamos isso aqui na empresa que trabalhamos.
Simplesmente recebi um arquivo, nele constam algumas colunas, e a coluna cpf (só essa coluna) está criptografada. Eu precisaria converter os dados para uma coluna não criptografada.
Já tentei alguns códigos que achei tanto no sql, quanto em java, mas não consigo.
-
Ola,
Tentei os dois sites que me passaram, mas quando coloco os dados não chega na mesma informação que tenho.
Atualmente estou usando um site para isso, mas só consigo descriptografar um, por um, e isso é inviável, tenho mais de 150 mil linhas na minha tabela.
Não temos nenhum certificado de criptografia, nunca usamos isso aqui na empresa que trabalhamos.
Simplesmente recebi um arquivo, nele constam algumas colunas, e a coluna cpf (só essa coluna) está criptografada. Eu precisaria converter os dados para uma coluna não criptografada.
Já tentei alguns códigos que achei tanto no sql, quanto em java, mas não consigo.
Bom dia .. você disse que não consegue; peço a gentileza de descrever exatamente como você está fazendo, e qual é o resultado ? (retorna alguma msg de erro, retorna os dados criptografados, enfim, como é o retorno?)
No aguardo.
Abs.
-
Paty,
Quais funções de descriptografia você tentou utilizar via SQL Server?
Os exemplos abaixo estão próximos do que você esta fazendo:
USE AdventureWorks; -- Get the pass phrase from the user. DECLARE @PassphraseEnteredByUser nvarchar(128); SET @PassphraseEnteredByUser = 'A little learning is a dangerous thing!'; -- Decrypt the encrypted record. SELECT CardNumber, CardNumber_EncryptedbyPassphrase AS 'Encrypted card number', CONVERT(nvarchar, DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, 1 , CONVERT(varbinary, CreditCardID))) AS 'Decrypted card number' FROM Sales.CreditCard WHERE CreditCardID = '3681'; GO
USE SQLCriptografia GO --Criando a Table TbUser Create Table TbUser (IdUsuario Int Identity(1,1) Constraint [PK_IdUsuario] Primary Key Clustered, NomeUsuario Varchar(30) Not Null, TxSenha VarBinary(255) Not Null, DataCadastro Date Default GetDate() ) Go --Criando Função Scalar para Criptografia de dados Alter Function Fun_CriptografaSenha (@TxSenha VarChar(1000)) Returns VarBinary(4000) As Begin --Chave de Criptografia Declare @ChaveCriptografia VarChar(1000) = 'ChaveCriptografia' Return EncryptByPassPhrase(@ChaveCriptografia, @TxSenha) End Go --Inserindo os Dados utilizando a Função Fun_CriptografaSenha Insert Into TbUser(NomeUsuario,TxSenha) Output inserted.NomeUsuario, inserted.TxSenha Values ('Pedro Antonio',SQLCriptografia.dbo.Fun_CriptografaSenha('MinhaSenha')) Go --Criando Função Scalar para Descriptografia de dados Create Function Fun_DescriptografaSenha (@NomeUsuario VarChar(20)) Returns VarChar(4000) As Begin --Chave de Criptografia Declare @ChaveCriptografia VarChar(1000) = 'ChaveCriptografia' --Recuperando a Senha Criptografada Declare @SenhaCriptografada VarChar(Max)=(Select TxSenha From TbUser Where NomeUsuario Collate SQL_Latin1_General_CP1_CS_AS = @NomeUsuario) --Descriptografando a Senha Return DecryptByPassPhrase(@ChaveCriptografia,@SenhaCriptografada) End Go --Consultando a Senha com Nome do Usuário Incorreto Select SQLCriptografia.dbo.Fun_DescriptografaSenha('Pedro') As 'Senha' --Consultando a Senha com Nome do Usuário Correto Select SQLCriptografia.dbo.Fun_DescriptografaSenha('Pedro Antonio') As 'Senha' --Criando Função Scalar para Descriptografia de dados com Autenticação de Usuário Create Function dbo.[Fun_DescriptografaSenhaAutenticada] (@NomeUsuario VarChar(20), @TxSenha VarChar(50)) Returns VarChar(4000) As Begin --Chave de Criptografia Declare @ChaveCriptografia VarChar(1000) = 'ChaveCriptografia' --Recuperando a Senha Criptografada Declare @SenhaCriptografada VarChar(Max)=(Select TxSenha From TbUser Where NomeUsuario Collate SQL_Latin1_General_CP1_CS_AS = @NomeUsuario) --Descriptografando a Senha Declare @Descriptogra VarChar(5000) = DecryptByPassPhrase(@ChaveCriptografia,@SenhaCriptografada) --Verificando se a senha é válida em relação ID do Usuário Declare @Retorno VarChar(4000) If (@Descriptogra Collate SQL_Latin1_General_CP1_CS_AS = @TxSenha) Select @Retorno='Usuário '+ @NomeUsuario + ' poderá usar o sistema!!!' Else Select @Retorno='As credenciais do usuário não conferem!!!' Return @Retorno End Go --Utilizando a Função Scalar Fun_DescriptograSenhaAutenticada com Usuário inexistente Declare @Usuario Varchar(30) = 'Pedro', @Senha VarChar(30) = 'Senha' Select dbo.Fun_DescriptografaSenhaAutenticada(@Usuario, @Senha) As 'Autenticação Usuário' --Utilizando a Função Scalar Fun_DescriptograSenhaAutenticada com Usuário correto e senha errada Declare @Usuario Varchar(30) = 'Pedro Antonio', @Senha VarChar(30) = 'Senha' Select dbo.Fun_DescriptografaSenhaAutenticada(@Usuario, @Senha) As 'Autenticação Usuário' --Utilizando a Função Scalar Fun_DescriptograSenhaAutenticada com Usuário e senha corretos Declare @Usuario Varchar(30) = 'Pedro Antonio', @Senha VarChar(30) = 'MinhaSenha' Select dbo.Fun_DescriptografaSenhaAutenticada(@Usuario, @Senha) As 'Autenticação Usuário'
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]