Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Checksum XOR di 2 caratteri

266 views
Skip to first unread message

T16

unread,
Apr 30, 2011, 5:35:45 PM4/30/11
to
Salve a tutti,
devo calcolare il Checksum di una stringa tramite or
esclusivo (Xor).

Questo non mi crea grossi problemi, posso fare così:

- definisco le mie variabili

var
ChkSum, ChrByte : byte;
i : integer;
MiaStringa : String;

- calcolo il checksum

for i:=0 to lenght(MiaStringa) -1 do
begin
ChrByte := byte( MiaStringa[i] );
ChkSum := ChkSum XOR ChrByte;
end;

Il mio vero problema è:
come posso riconvertire il mio checksum in una stringa di 2 caratteri?

Grazie,
Tiresia

Alessandra R.

unread,
Apr 30, 2011, 8:53:36 PM4/30/11
to
T16, rischiando una denuncia penale, ha osato scrivere:

> Il mio vero problema č:


> come posso riconvertire il mio checksum in una stringa di 2 caratteri?

non si puň.

Ale

morde

unread,
May 2, 2011, 2:30:38 AM5/2/11
to
On 30.04.2011 23:35, T16 wrote:

> Il mio vero problema è:
> come posso riconvertire il mio checksum in una stringa di 2 caratteri?

Non puoi perchè il checksum calcola un valore matematico che si usa per
verificare se ci sono stati errori durante la trasmissione di un dato
[1]. Il CRC dei files è basato sullo stesso principio.

Quello che vuoi fare tu è il crittaggio/decrittaggio di una stringa.
Quindi, la mia domanda è: che cosa vuoi ottenere col cecksum nel tuo codice?

Ciao

[1] http://en.wikipedia.org/wiki/Checksum

--
morde
D5,D6,D7
Firebird 2.1
QT 4.7.0 (MingW) QT Creator 2.1

Alessandra R.

unread,
May 2, 2011, 2:59:41 AM5/2/11
to
morde, rischiando una denuncia penale, ha osato scrivere:

> Quello che vuoi fare tu è il crittaggio/decrittaggio di una stringa.

era quello che avevo pensato anche io.
Però nel suo messaggio mostra un codice che calcola il checksum di una
stringa di "n" caratteri, e chiede come convertire il checksum in una
stringa di *2* caratteri. A questo punto la domanda è: visto che il
checksum è un byte, non è che gli servirà di convertirne il valore in
esadecimale? risolverebbe con un IntToHex.. boh! chissà che intendeva..

Ale

0 new messages