Não é muita coisa, como eu disse, só é preciso passar a chave e o caminho e
nome do arquivo a ser encriptografado (C:\Temp\Texto.txt). Ao executar o
método EncryptFile() o componente automaticamente gera o encriptografado com
o mesmo nome do arquivo original mas com extensão BFH. Segue o código:
---
      BFH.Keyword := 'chave';
      BFH.EncryptFile(DirectoryOutline1.Directory + 'P' +
IntToStr(Protocolo) + '.zip');
---

As outras propriedades são as defaults do componente. Conforme entrei em
contato com o desenvolvedor do componente, quando ele gera o arquivo
encriptografado, além de incluir os dados encriptografados do arquivo, ele
inclui outras informações. Segue a explicação do autor:
---
Every BFH file has a _additional_ header:

  TBFHHeader = packed record
                        Signature: Array[0..2] of Char;
                        Version: Byte;
                        CRC32: LongInt;
                        ulCBCLeft, ulCBCRight: LongInt;
                      end;

And a _additional_ file info block:

  TOrigInfo  = packed record
                        Name: Array[0..255] of Char;
                        Size: LongInt;
                        Date: LongInt;
                      end;

Behind this append your encoded text.
For further information they look please into the file "bfh.pas".
---

Vai em anexo um arquivo encriptografado junto com o seu original, a palavra
chave utilizada foi "chave".

Andei pesquisando mais, inclusive em outros providers, e vi que o caso
trata-se de Password Based Encrypt (PBE) mas parece que também é necessário
utilizar um algoritmo pra gerar uma chave (classe SecretKey) a partir do
password mas o provider não suporta fazer isso com o Blowfish, apenas
utilizando outros algoritmos. Isso me dá a impressão que não é o caminho
certo.

Abraços

Bruno H. H.

----- Original Message -----
From: "Lusoujava" <[EMAIL PROTECTED]>
To: "Bruno Henrique Hjort" <[EMAIL PROTECTED]>
Sent: Wednesday, March 19, 2003 10:17 PM
Subject: Re: [java-list] Criptografia - Delphi <> Java


> Caro Bruno,
>
>     Vc poderia enviar para mim o trecho de código que Vc utilza o
componente
> e ainda, um dado encriptado gerado pelo componente.
>
>     Com estas informações espero te ajudar mais.
>
>     [ ]´s
>     Luciano da Silva Coelho
>     [EMAIL PROTECTED]
>     Sun Certified Programmer for JAVA2
>     Sun Certified Web Component Developer for J2EE
>     Sun Certified Instructor for JAVA2
>     e-Sec Tecnologia em Segurança de Dados
>     www.esec.com.br
> ----- Original Message -----
> From: "Bruno Henrique Hjort" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>; "Lusoujava" <[EMAIL PROTECTED]>
> Sent: Wednesday, March 19, 2003 5:07 PM
> Subject: Re: [java-list] Criptografia - Delphi <> Java
>
>
> > E-mail Premium BOL
> > Antivírus, anti-spam e até 100 MB de espaço. Assine já!
> > http://email.bol.com.br/
> > O tipo de encadeamento é o CBC. Andei estudando o fonte do componente
> Delphi
> > que faz a criptografia mas ainda assim não consegui descobrir o tamanho
da
> > chave ou a questão dos vetores de inicialização (CBC necessita?). Na
> > especificação (www.sksoft.de/bfh.htm) o autor do componente só diz que a
> > chave pode ser de até 448 bits (característica do Blowfish, certo?). Ao
> > usá-lo no Delphi, a única coisa que passamos como parâmetro para
> > criptrografar ou descriptografar um arquivo é o nome do arquivo e a
chave
> > (uma string "chave", por exemplo). Desculpa, sou novo no assunto, mas
qual
> > seria a diferença de uma chave de 32 para uma de 64 sendo que estamos
> usando
> > strings?
> >
> > Pesquisando encontrei, entre outros, esse modo de criar a chave mas
ainda
> > estou inseguro quanto à sua aplicabilidade para o meu caso.
Principalmente
> > porque, ao que me parece, ele utiliza um gerador randômico e no caso eu
> > tenho uma chave já especificada.
> >
> >   // Gera a chave
> >    SecureRandom sr = new SecureRandom(psChave.getBytes());
> >    KeyGenerator keyGenerator = KeyGenerator.getInstance("Blowfish");
> >    keyGenerator.init(448, sr); // 448 ???
> >    chave = keyGenerator.generateKey();
> >
> > Digamos que o tamanho da minha chave seja realmente 448 e que eu não
> > necessite de um vetor de inicialização, este código funcionaria?
> >
> > Muito agradecido
> >
> > Bruno H. Hjort
> >
> >
> >
> > ----- Original Message -----
> > From: "Lusoujava" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Wednesday, March 19, 2003 8:55 AM
> > Subject: Re: [java-list] Criptografia - Delphi <> Java
> >
> >
> > > Caro Bruno,
> > >
> > >     O Blowfish é uma cifra em bloco e cuja chaves podem variar de 32 a
> 448
> > > bits (ver http://www.counterpane.com/blowfish.html). Sendo assim Vc
> > deveria
> > > estar atento a três coisas pelo menos:
> > > A) Qual tipo de encadeamento de blocos está sendo utilizado pelo seu
> > > programa em Delphi (ECB, CBC, etc);
> > > B) Caso o tipo de encadeamento utilizado necessitard e um  vetor de
> > > inicialização, qual IV foi utilizado no Delphi;
> > > C) Qual o tamanho da chave utilizada no Delphi.
> > >
> > >     Espero que isto traga alguma luz para a solução do seu problema.
> > >
> > >     [ ]´s
> > >     Luciano da Silva Coelho
> > >     [EMAIL PROTECTED]
> > >     Sun Certified Programmer for JAVA2
> > >     Sun Certified Web Component Developer for J2EE
> > >     Sun Certified Instructor for JAVA2
> > >     e-Sec Tecnologia em Segurança de Dados
> > >     www.esec.com.br
> > > ----- Original Message -----
> > > From: "Bruno Henrique Hjort" <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Monday, March 17, 2003 2:49 PM
> > > Subject: [java-list] Criptografia - Delphi <> Java
> > >
> > >
> > > > E-mail Premium BOL
> > > > Antivírus, anti-spam e até 100 MB de espaço. Assine já!
> > > > http://email.bol.com.br/
> > > > Olá lista
> > > >
> > > > Estou trabalhando em páginas em JSP e preciso descriptografar um
> arquivo
> > > > criptografado no Delphi através do algoritmo Blowfish (componente -
> > > > http://home.t-online.de/home/kirbach) mas o resultado não está sendo
> > > > compatível. Já consegui fazer uma classe em java que criptografa e
> > > > descriptografa um arquivo, mas só descriptografa os arquivos gerados
> por
> > > ela
> > > > mesmo. Não tenho certeza se é porque estou gerando a chave
> > incorretamente,
> > > > por estar especificando parâmetros diferentes ou por
incompatibilidade
> > > > mesmo.
> > > > Quanto às chaves, nas documentações e exemplos já vi várias maneiras
> de
> > se
> > > > gerar uma. Digamos que a chave com que o criptografado foi gerado
seja
> > > > "UrsoPolar", o seguinte código serviria para instanciar minha chave
no
> > > java?
> > > >
> > > >    byte[] desKeyData = ("UrsoPolar").getBytes();
> > > >    SecretKeySpec chave = new SecretKeySpec(desKeyData, "Blowfish");
> > > >
> > > > PS.: estou desenvolvendo no JDK 1.3.1 com o JCE Provider do Cryptix.
> > > >
> > > > Desde já, obrigado.
> > > >
> > > > Bruno H. H.
> > > >
> >
> >
>
encriptografando um bloco de texto.

Attachment: teste.BFH
Description: Binary data

------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a