jaenicke hat folgendes geschrieben : |
oOXTCOo hat folgendes geschrieben : | wie berechne ich xor8 mit delphi? | Was soll xor8 sein? xor ist in Delphi einfach xor. |
ich denke xor 8 bit ?
ich finde leider nichts darüber, darum frage ich hier nach... das habe ich gefunden:
fundementals.sourceforge.net/cHash.html
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| Function CalcXOR8 (const Buf; const BufSize : Integer) : Byte; var L : LongWord; Begin L := XOR32Buf (Buf, BufSize); Result := Byte (L) xor Byte (L shr 8) xor Byte (L shr 16) xor Byte (L shr 24); End;
Function CalcXOR8 (const Buf : String) : Byte; Begin Result := CalcXOR8 (Pointer (Buf)^, Length (Buf)); End; |
aber das hilft mir nicht viel weiter...
ich habe davon heute zum ersten mal gehört...
das "normale" xor ist kein problem, verwende ich sehr oft, leider sagt mir aber xor8 nichts und google auch nicht wirklich...
hab da nochwas gefunden:
Es unterstützt die bekanntesten 58 Standard Algorithmen (Adler32, BSD sum, Bzip2's CRC-32, POSIX cksum, CRC-8, CRC-16, CRC-24, CRC-32 (FCS-32), CRC-64, ELF-32, eMule/eDonkey, FCS-16, GOST R 34.11-94, HAS-160, HAVAL (3/4/5 passes, 128/160/192/224/256 bits), MD2, MD4, MD5, MPEG-2's CRC-32, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320, SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Tiger-128, Tiger-160, Tiger, Tiger2, Tiger Tree Hash, Tiger2 Tree Hash, Unix System V sum, sum8, sum16, sum24, sum32, Whirlpool-0, Whirlpool-1,
Whirlpool and xor8).
gefunden in einem java programm namens jacksum.
ich habe mir nun den source runtergeladen (von jacksum) und auch den xor8 source gefunden.
leider in java:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| package jonelo.jacksum.algorithm;
public class Xor8 extends AbstractChecksum
public void update(byte b)
public void update(int b)
}
/* Testvector from Motorola's GPS: (http://www.motorola.com/ies/GPS/docs_pdf/checksum.pdf) hex: 45 61 01 => 25 */ |
das sieht sehr nachdem aus was ich suche. 45 61 01 = 25 (sieht gut aus, was ich so sehe)
jetzt muss ich das nur irgendwie in delpgi zum laufen bringen...