| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2004 11:08:05
|
Claire
JavaChild
![[Avatar]](/images/avatar/e7e23670481ac78b3c4122a99ba60573.png)
Membro desde: 17/11/2003 15:16:20
Mensagens: 110
Localização: Sumaré-SP
Offline
|
Olá Pessoal,
To com o seguinte problema: Tenho que fazer uma aplicação que rode exatamente (ao menos nesse ponto) igual a que tenho em Delphi. Estou com dificuldade pra conseguir passar para o Java, principalmente na parte que ele usa ascII. Sei que Java não usa ascII.
Será que alguém pode me ajudar? A função é a seguinte no Delphi:
function STR_CODIFICA(P_SEQ: string): string;
var
L_RET: string;
L_I, L_TAM: integer;
begin
L_RET := '';
L_TAM := length(P_SEQ);
for L_I := 1 to L_TAM do
L_RET := L_RET + chr((ord(P_SEQ[L_I]) + L_TAM) mod 256);
STR_CODIFICA := L_RET;
end;
Pra quem não sabe:
ord :recupera valor ascII de determinado caracter
mod: recupera o resto da divisão (%)
|
"Se não puder convencê-los, confunda-os" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2004 12:03:45
|
luciano_castilho
JavaChild
![[Avatar]](/images/avatar/c8a32d213f5c916c6f23c.jpg)
Membro desde: 17/03/2003 10:10:48
Mensagens: 138
Localização: Campo Grande / MS
Offline
|
Oi Claire,
Estou bem enferrujado em Delphi mas tentei fazer algo parecido, juro para vc que não testei portanto veja se funciona ou se dá para aproveitar algo desse cód, OK.
|
Luciano de A. Castilho
---------------------------
"O poder de uma civilização não está em promover a guerra, mas em manter a paz" (Gene Roddenberry) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2004 13:54:12
|
Claire
JavaChild
![[Avatar]](/images/avatar/e7e23670481ac78b3c4122a99ba60573.png)
Membro desde: 17/11/2003 15:16:20
Mensagens: 110
Localização: Sumaré-SP
Offline
|
Eu tava mais ou menos no mesmo caminho...
Só duas coisas:
Uma delas é que vc esqueceu de somar o tamanho da ArrayList. Ahe ficou certinho..
Porém, faltou uma coisa:
Voltar o valor pra String. Exemplo:
Se eu coloco A , equivale a 65 ascII. Pois bem, após passar todo o processo ele retorna 66. Como eu faço pra que volte pra caracter?...Que o certo seria retornar B.
Só falta isso mesmo pra que esteja zerado.
Valeu mesmo pela ajuda!
|
"Se não puder convencê-los, confunda-os" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2004 14:05:13
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline
|
bom, eu não testei, mas é possivel que isto funcione:
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2004 14:16:45
|
Claire
JavaChild
![[Avatar]](/images/avatar/e7e23670481ac78b3c4122a99ba60573.png)
Membro desde: 17/11/2003 15:16:20
Mensagens: 110
Localização: Sumaré-SP
Offline
|
Era só converter pra char mesmo...
Deu certo!
Exceto pelo fato que invés de somar i tenha que somar o arrayCharSeq.length...
Obrigada Pessoal
|
"Se não puder convencê-los, confunda-os" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2004 16:20:39
|
luciano_castilho
JavaChild
![[Avatar]](/images/avatar/c8a32d213f5c916c6f23c.jpg)
Membro desde: 17/03/2003 10:10:48
Mensagens: 138
Localização: Campo Grande / MS
Offline
|
Claire,
Curiosidade minha, para que serve esta rotina? Qual o tipo de uso, por exemplo extrair uma "assinatura" de uma String, ou até mesmo um modo de criptografia?
|
Luciano de A. Castilho
---------------------------
"O poder de uma civilização não está em promover a guerra, mas em manter a paz" (Gene Roddenberry) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2004 17:27:20
|
Claire
JavaChild
![[Avatar]](/images/avatar/e7e23670481ac78b3c4122a99ba60573.png)
Membro desde: 17/11/2003 15:16:20
Mensagens: 110
Localização: Sumaré-SP
Offline
|
É... Criptografia sim...
Apesar que tenho uma classe ótima pra isso... Tenho que fazer igual a do Delphi, as aplicações vão rodar em paralelo.
|
"Se não puder convencê-los, confunda-os" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2004 19:43:44
|
Daniel Quirino Oliveira
Moderador
![[Avatar]](/images/avatar/846c260d715e5b854ffad5f70a516c88.png)
Membro desde: 23/03/2003 23:57:34
Mensagens: 3299
Localização: Awawawawa (Araraquara) - SP
Offline
|
Mera curiosidade: por que ambas aplicações não utilizam um mesmo algoritmo de criptografia já consagrado (tipo BlowFish ou 3DES)?
|
Daniel Quirino Oliveira |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/08/2004 00:44:10
|
dsiviotti
Virtual Machine Man
![[Avatar]](/images/avatar/b3f61131b6eceeb2b14835fa648a48ff.jpg)
Membro desde: 19/01/2004 01:35:23
Mensagens: 541
Localização: Rio de Janeiro
Offline
|
Daniel Quirino Oliveira wrote:Mera curiosidade: por que ambas aplicações não utilizam um mesmo algoritmo de criptografia já consagrado (tipo BlowFish ou 3DES)?
Nada como criptografia caseira.
Também uso coisas assim pra gravar a senha de alguém no banco. Mesmo o DBA não sabe a senha e não precisa ser um super algoritmo de criptografia. Na verdade essa "criptografia de caracteres" é super simples.
|
Douglas Siviotti |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/08/2004 08:23:14
|
Claire
JavaChild
![[Avatar]](/images/avatar/e7e23670481ac78b3c4122a99ba60573.png)
Membro desde: 17/11/2003 15:16:20
Mensagens: 110
Localização: Sumaré-SP
Offline
|
A maioria das aplicações em Java aqui roda criptografia com o algorítmo de Rijndael.
Realmente esta criptografia é caseira... Mas, como já está assim na aplicação Delphi a algum tempo e rodando em cliente. Achei mais sensato fazer da mesma maneira em aplicação Java ao invés de alterar a aplicação Delphi e as senhas já existentes em banco.
Esse tipo de criptografia pode ser caseira, mas já resolve o problema.
|
"Se não puder convencê-los, confunda-os" |
|
|
 |
|
|