Olá pessoal,
escrevi uma classe Java que encripta dados usando o algoritmo Blowfish (Blowfish/ECB/NoPadding) e agora preciso decriptar os dados usando Delphi.
Alguém sabe de algum componente Delphi que seja compatível com Java nesse aspecto? (tentei o Indy, mas não consegui decriptar!)
Ou melhor, alguém já encriptou em Java (usando o provider da Sun) e decriptou em Delphi?
Grato,
Henrique Viecili
Oi
Amigão, nunca ouvi falar de tal componente… Tu não teria o algoritmo de desencriptação para implementar em delphi?
T+
Bom, deixa eu desenvolver melhor a idéia:
Estou usando o provider da Sun para encriptar dados através do algoritmo blowfish, ou seja, a implementação do algoritmo é feita pelas classes do Sun Provider, eu apenas estou utilizando a JCE.
A instanciação do objeto cipher:
Cipher cipher = Cipher.getInstance("Blowfish/ECB/NoPadding");
depois de fazer a encriptação em Java preciso decriptar no Delphi, para isso estou tentando utilizar o TurboPower LockBox, entretanto, depois de muito debugar e fuçar, ví q é muito difícil tornar compatíveis os algoritmos.
Então, é muito bem-vinda qualquer informação ou dica de como fazer encriptação em Java e decriptação no Delphi !!
Outra coisa, se alguém conseguiu entender como a Sun implementou o algoritmo Blowfish, por favor torne público. O pacote com as classes pode ser encontrado em %JAVA_HOME%\jre\lib\ext\sunjce_provider.jar
Grato,
Henrique Viecili
Olá Henrique,
verifique se vc está usando o mesmo padrão de bits em ambos os c´digos, pois o Blowfish permite criptografia de 128 a 448 bits se não me engano.
Dê uma pesquisa nestes site, talvez lá vc encontre o componente que esteja procurando.
http://www.efg2.com/Lab/Library/Delphi/MathFunctions/Cryptography.htm
http://www.schneier.com/blowfish.html
http://www.csd.net/~daves/delphi/
Abraço
Carlos
Obrigado pela dica.
Eu verifiquei nestes e em outros sites e achei implementações .NET e Java que ‘teoricamente’ devem encriptar/decriptar entre sí usando o Blowfish.
:arrow: http://come.to/hahn
A parte em Java parece estar OK, a parte do .NET ainda estou verificando.
Obrigado a todos,