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
> Il mio vero problema č:
> come posso riconvertire il mio checksum in una stringa di 2 caratteri?
non si puň.
Ale
> 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
> 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