Seja bem vindo ao Fórum do JavaFree.org
Aqui você irá encontrar respostas para TUDO o que você precisa sobre java.
Deseja participar? Crie sua conta ou efetue seu login
Blz pessoal,
Estou tentendo migrar um código de criptografia feito em delphi (esta diponivel na internet)
para java, mas esta dando uns problemas, mas acredito que é nada para a comunidade do Java[color=red:7128fe0d0e]free[/color:7128fe0d0e], é o seguinte:
[color=#444444:7128fe0d0e]O CÓDIGO FEITO EM DELPHI[/color:7128fe0d0e]:
function EncryptSTR(const InString: string; StartKey, MultKey, AddKey: Integer): string;
var
I: Byte;
begin
Result := '';
for I := 1 to Length(InString) do
begin
Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8 ));
StartKey := (Byte(Result[I]) + StartKey) * MultKey + AddKey;
end;
end;
function DecryptSTR(const InString: string; StartKey, MultKey, AddKey: Integer): string;
var
I: Byte;
begin
Result := '';
for I := 1 to Length(InString) do
begin
Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8 ));
StartKey := (Byte(InString[I]) + StartKey) * MultKey + AddKey;
end;
end;
O CÓDIGO FEITO EM JAVA:
public class cripto {
public static void main(String[] args) {
long starKey = 5554;
int mutlKey = 500;
int addKey = 500;
String senha = "123456";
String resultado = "";
String nome = "";
for (int i=0; i < senha.length(); i++){
resultado += (char)((int)senha.charAt(i) ^ (starKey >> 8 ));
starKey = ((int)resultado.charAt(i) + starKey) * multKey + addKey ;
}
System.out.println("Criptografa: " + resultado);
starKey = 5554;
for (int i=0; i < resultado.length(); i++){
nome += (char)((int)resultado.charAt(i) ^ (starKey >> 8 ));
starKey = ((int)resultado.charAt(i) + starKey) * multKey + addKey;
}
System.out.println("Descriptografa: " + nome);
}
}
A classe java não dá erro, porém, não mostra os caracteres ascii como deveria de ser, aparece o primeiro
caracter e os demais aparecem ??????(ponto de interrogação)
Quem tiver alguma solução para o meu problema me envia por favor.
Agradeço. _________________JavaFree.org
Jesus Cristo Senhor e Salvador da Minha vida, toda honra e toda glória sejam dadas a Ele.
Eu também já fui programador Delphi e recentemente tive que fazer algo parecido, então vou te passar o código, mas de qualquer forma ela é muito parecida com a tua:
Espero que te ajude, boa sorte! _________________Dennys S. Sobrinho
Analista e Desenvolvedor Sênior
Chefe adjunto do Centro de Informática - FAESP-SENAR/SP
http://www.faespsenar.com.br
(11) 3258-7233 Ramal 174
mcgillPosts:10
Blz pessoal,
Estou tentendo migrar um código de criptografia feito em delphi (esta diponivel na internet)
para java, mas esta dando uns problemas, mas acredito que é nada para a comunidade do Java[color=red:7128fe0d0e]free[/color:7128fe0d0e], é o seguinte:
[color=#444444:7128fe0d0e]O CÓDIGO FEITO EM DELPHI[/color:7128fe0d0e]:
function EncryptSTR(const InString: string; StartKey, MultKey, AddKey: Integer): string;
var
I: Byte;
begin
Result := '';
for I := 1 to Length(InString) do
begin
Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8 ));
StartKey := (Byte(Result[I]) + StartKey) * MultKey + AddKey;
end;
end;
function DecryptSTR(const InString: string; StartKey, MultKey, AddKey: Integer): string;
var
I: Byte;
begin
Result := '';
for I := 1 to Length(InString) do
begin
Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8 ));
StartKey := (Byte(InString[I]) + StartKey) * MultKey + AddKey;
end;
end;
O CÓDIGO FEITO EM JAVA:
public class cripto {
public static void main(String[] args) {
long starKey = 5554;
int mutlKey = 500;
int addKey = 500;
String senha = "123456";
String resultado = "";
String nome = "";
for (int i=0; i < senha.length(); i++){
resultado += (char)((int)senha.charAt(i) ^ (starKey >> 8 ));
starKey = ((int)resultado.charAt(i) + starKey) * multKey + addKey ;
}
System.out.println("Criptografa: " + resultado);
starKey = 5554;
for (int i=0; i < resultado.length(); i++){
nome += (char)((int)resultado.charAt(i) ^ (starKey >> 8 ));
starKey = ((int)resultado.charAt(i) + starKey) * multKey + addKey;
}
System.out.println("Descriptografa: " + nome);
}
}
A classe java não dá erro, porém, não mostra os caracteres ascii como deveria de ser, aparece o primeiro
caracter e os demais aparecem ??????(ponto de interrogação)
Quem tiver alguma solução para o meu problema me envia por favor.
Agradeço.
_________________JavaFree.org
Jesus Cristo Senhor e Salvador da Minha vida, toda honra e toda glória sejam dadas a Ele.
softworkPosts:11
Olá amigo!
Eu também já fui programador Delphi e recentemente tive que fazer algo parecido, então vou te passar o código, mas de qualquer forma ela é muito parecida com a tua:
Espero que te ajude, boa sorte!
_________________Dennys S. Sobrinho
Analista e Desenvolvedor Sênior
Chefe adjunto do Centro de Informática - FAESP-SENAR/SP
http://www.faespsenar.com.br
(11) 3258-7233 Ramal 174
Plante, cultive e colha a Paz.
Relacionados
PessoaServlet erro.
http://javafree.uol.com.br/topic-890631-PessoaServlet-erro.html
[RESOLVIDO] Buscando DATETIME NULL pelo Calendar Jdbc
http://javafree.uol.com.br/topic-890537-RESOLVIDO-Buscando-DATETIME-NULL-pelo-Calendar-Jdbc.html
Exercício - Cadastro de Produtos na Web.
http://javafree.uol.com.br/topic-890463-Exercicio-Cadastro-de-Produtos-na-Web.html
nao consigo gravar o resultado do checkbox no banco mysql
http://javafree.uol.com.br/topic-890424-nao-consigo-gravar-o-resultado-do-checkbox-no-banco-mysql.html
Somando calculos de uma arraylist
http://javafree.uol.com.br/topic-890410-Somando-calculos-de-uma-arraylist.html