Der Code ist auch nicht das Wahre.
Meistens wird mit eine Table gerechnet, welche vorher über das Polynom erstellt wurde.
Also es wird je nach Position/Eingangswert mit einem anderem XOR-Wert gearbeitet.
Du rechnest aber immer mit dem selben Wert (xor $1021).
Ich würde mir einen anderen Code suchen. (gibt ja genügend, wie z.B. im
DEC und in vielen anderen Hash/Crypt-Libs)