Ajuda com XOR
ola pessoal,
estou tendo um problema para fazer um XOR...o problema é o seguinte:
o XOR ate funciona, mas nao retorna o resultado q eu tenho aqui, eu nao sei se ta faltando converter alguma variavel mas eu estou usando o seguinte codigo q peguei aqui no forum:
o XOR é entre esses valores em hexa:
BA0AD9327F58EAF2 e 0512101000000000 e o resultado deve ser BF18C9227F58EAF2
se alguem q ja sabe bem como trabalhar com XOR puder me eu agradeco muito...obrigado
estou tendo um problema para fazer um XOR...o problema é o seguinte:
o XOR ate funciona, mas nao retorna o resultado q eu tenho aqui, eu nao sei se ta faltando converter alguma variavel mas eu estou usando o seguinte codigo q peguei aqui no forum:
var I: Integer; S1: string; S2: string; begin S1 := ´CASA´; S2 := ´RISO´; for I := 1 to Length(S1) do S1[I] := Chr(Ord(S1[I]) xor Ord(S2[I])); end;
o XOR é entre esses valores em hexa:
BA0AD9327F58EAF2 e 0512101000000000 e o resultado deve ser BF18C9227F58EAF2
se alguem q ja sabe bem como trabalhar com XOR puder me eu agradeco muito...obrigado
Tap_pedroso
Curtidas 0
Respostas
Massuda
25/06/2007
Para fazer o xor entre os números BA0AD9327F58EAF2 e 0512101000000000 NÃO use as strings ´BA0AD9327F58EAF2´ e ´0512101000000000´ pois não são a mesma coisa. Nesse caso, as strings são apenas representações textuais dos números.
O correto é usar as strings...
#$BA + $0A + $D9 + $32 + $7F + $58 + $EA + $F2
$05 + $12 + $10 + $10 + $00 + $00 + $00 + $00
...e daí fazer o xor como você fez.
Dependendo do formato dos seus dados, pode nem ser necessário tratar os dados como strings.
O correto é usar as strings...
#$BA + $0A + $D9 + $32 + $7F + $58 + $EA + $F2
$05 + $12 + $10 + $10 + $00 + $00 + $00 + $00
...e daí fazer o xor como você fez.
Dependendo do formato dos seus dados, pode nem ser necessário tratar os dados como strings.
GOSTEI 0
Tap_pedroso
25/06/2007
obrigado massuda, vou tentar fazer isso.
GOSTEI 0
Tap_pedroso
25/06/2007
eu preciso continuar usando o ORD massuda?
GOSTEI 0
Massuda
25/06/2007
eu preciso continuar usando o ORD
Sim.GOSTEI 0
Tap_pedroso
25/06/2007
deu certo massuda...valew :wink:
GOSTEI 0