Ir para conteúdo
  • Cadastre-se

Recommended Posts

Postado

Olá, estou usando o componente da LockBox, o tcodec, estou tentando criptografar um arquivo e descriptografar, mas não está descriptografando, o arquivo está ficando zerado, não estou conseguindo resolver.... alguém tem alguma ideia do que seja?

Código para criptografar:

procedure TForm1.btnCriptArquivoClick(Sender: TObject);
var
  Codec2: TCodec;
  Lib2: TCryptographicLibrary;
  FSInput, FSOutput: TFileStream;
begin
  Codec2 := TCodec.Create(nil);
  Lib2 := TCryptographicLibrary.Create(nil);

  try
    // --- Configuração ---
    Codec2.Password := 'teste';
    Codec2.CryptoLibrary := Lib2;

    // Garante o uso de AES-256 com CBC
    Codec2.StreamCipherId := uTPLb_Constants.BlockCipher_ProgId;
    Codec2.BlockCipherId := 'native.AES-256';
    Codec2.ChainModeId := uTPLb_Constants.CBC_ProgId;

    FSInput := TFileStream.Create('C:\temp\conncfg.xml', fmOpenRead);
    FSOutput := TFileStream.Create('C:\temp\conncfg.aes', fmCreate);

    try
      Codec2.EncryptStream(FSInput, FSOutput);

      ShowMessage('Arquivo criptografado com sucesso.');
    finally
      FSInput.Free;
      FSOutput.Free;
    end;
  finally
    Codec2.Free;
    Lib2.Free;
  end;
end;
 

Código para descriptografar:

procedure TForm1.btnDesCriptArquivoClick(Sender: TObject);
var
  Codec2: TCodec;
  Lib2: TCryptographicLibrary;
  FSInput, FSOutput: TFileStream;
begin
  Codec2 := TCodec.Create(nil);
  Lib2 := TCryptographicLibrary.Create(nil);

  try
    // --- Configuração ---
    Codec2.Password := 'teste';
    Codec2.CryptoLibrary := Lib2;

    // Garante o uso de AES-256 com CBC
    Codec2.StreamCipherId := uTPLb_Constants.BlockCipher_ProgId;
    Codec2.BlockCipherId := 'native.AES-256';
    Codec2.ChainModeId := uTPLb_Constants.CBC_ProgId;

    FSInput := TFileStream.Create('C:\temp\conncfg.aes', fmOpenRead);
    FSOutput := TFileStream.Create('C:\temp\conncfg_Novo.xml', fmCreate);

    try
      Codec2.DecryptStream(FSInput, FSOutput);

      ShowMessage('Arquivo descriptografado com sucesso.');
    finally
      FSInput.Free;
      FSOutput.Free;
    end;
  finally
    Codec2.Free;
    Lib2.Free;
  end;
end;
 

  • Consultores
Postado

chegou a pegar o exemplo que tem com o projeto e testar nele?

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...