Passar algoritmo de cript de .net pra Java

Blz?

Tem um sistema aqui na empresa que criptografa com o .net abaixo.

[code]Public Class Security
Private Declare Function Cipher Lib “CIPHER.DLL” (ByVal Key As String, ByVal Area As String, ByVal Modo As Boolean) As String

Public Shared Function Criptografar(ByVal sDado As String) As String
    Criptografar = Cipher("Minha chave - 123", sDado, True)
End Function

Public Shared Function Descriptografar(ByVal sDado As String) As String
    Descriptografar = Cipher("Minha chave - 123", sDado, False)
End Function

End Class[/code]
Agora eu to fazendo um aqui em java que precisa ser compativel com ele.
Usar a a Cipher é até simples:

Mas manter a compatibilidade é que ta dificil. Tipo criptografar a msm coisa e obter o msm resultado.
Alguém pode me dar alguma idéia pq o cara que fez o codigo .net diz que so usou a DLL (CIPHER.DLL). Ai eu nao sei que Algorithm/Mode/Padding usar para iniciar a Cipher.

Obrigado por quem puder ajudar!

De onde surgiu essa dll? É padrão do Windows? Ou foi sua empresa que implementou?

Padrao do win ela nao é. E tbm tenho quase certeza que nao foi implementada aqui na empresa.
Como funciona esse tipo de coisa? Tipo na DLL pode vir algo ja implementado? Pq ele nao especifiou um algorimo.
Se puder dar uma luz agradeço!

Sim. Dll é a sigla de “Dinamic Link Library”. É a versão Windows do .jar do Java.

Dentro dessa dll existe uma função chamada Cypher, que é a que você está chamando no seu código VB.

O que você pode fazer, é acessar essa mesma dll no java, através do JNA. Dá uma olhada:
https://jna.dev.java.net/

[quote=afonsoaaf]Padrao do win ela nao é. E tbm tenho quase certeza que nao foi implementada aqui na empresa.
Como funciona esse tipo de coisa? Tipo na DLL pode vir algo ja implementado? Pq ele nao especifiou um algorimo.
Se puder dar uma luz agradeço![/quote]

Sem o algoritmo não é possivel se compativel nunca. por tentativa e erro vc não vai chegar lá.
Ou vc descobre o algoritmo ou vc tem que usar a mesma dll em java ( via jna ou jni ou qq coisa assim)

valeu galera! foi mais ou menos isso que eu falei aqui (tirando essa parte de acessar dll pelo java), mas como eu sou junim… eu nao consegui convencer :]
ja vou mudar meu rumo entao…

Obrigado!

galera eu tava pensando nessa questão de usar jna para acessar a dll. Mas é possivel eu usar a jna e buscar a dll no linux? Tipo colocar a dll no path.

Eu tava pesquisando sobre jna, mas nao vi algum caso parecido. A nao ser alguns casos com o wine (onde os usuarios pegavam as dll no windows pra emularem atravez do wine). Mas nao vi uma resposta pro meu problema.

galera eu tava pensando nessa questão de usar jna para acessar a dll. Mas é possivel eu usar a jna e buscar a dll no linux? Tipo colocar a dll no path.

Eu tava pesquisando sobre jna, mas nao vi algum caso parecido. A nao ser alguns casos com o wine (onde os usuarios pegavam as dll no windows pra emularem atravez do wine). Mas nao vi uma resposta pro meu problema.

O código JNA não será portável. Talvez vc tenha que usar algum artifício para rodar em Linux, como o Wine. Mas nesse caso, não sou a pessoa mais indicada para te orientar.