Forum: Compiler & IDEs Einfache Prüfsumme


von Caruso (Gast)


Lesenswert?

Hallo,

Ich will eine Prüfsumme einer Zeichenkette berechnen. Hatt jemand ein
möglichst einfaches Codeschnipsel dazu?

Es muss nicht auf Geschwindigkeit optimiert sein.

Danke im Voraus

von Bri (Gast)


Lesenswert?


von Caruso (Gast)


Lesenswert?

Hat sich erledigt. Aber trotzdem Danke. (Ich addiere einfach die chars)

Ich dachte das ich bei der Berechnung etwas falsch machte, aber ich
hatte nur vergessen die Variable mi t "0" zu initialisieren...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> (Ich addiere einfach die chars)

Ziemlich lahm, sehr fehleranfällig.  Nimm eine CRC, dafür
sind'se da.

http://www.nongnu.org/avr-libc/user-manual/group__util__crc.html

von Fritz G. (fritzg)


Lesenswert?

(Ich addiere einfach die chars)

wenn da grad 2 bits falsch sind, kannst trotzdem die korrekte Prüfsumme
rauskriegen, hör auf Wunschjörg!

Bei der CRC aus der avr-libc können die beliebige 16 bit kippen und dir
Routine merkt es. Zahlt sich wirklich aus.

von Benedikt (Gast)


Lesenswert?

>hör auf Wunschjörg!
Wenn dessen Link gehen würde, könnte man das auch machen...

von Caruso (Gast)


Lesenswert?

Ich wollte eigentlich nur etwas einfaches haben. Es verhindern, dass
jemand etwas anderes beim Copyright meines Programms hinschreiben
kann(Windows, MinGW ).

von Elektrikser (Gast)


Lesenswert?

@Benedikt

Der Link würde schon funktionieren, wenn da nicht die Forumssoftware
mitreden würde. Sie macht nämlich den Unterstrich bei "util" und
damit klappt es leider nicht. Entweder in der libc-Beschreibung deines
WinAVRs nachsehen, oder:
http://www.nongnu.org/avr-libc/user-manual/modules.html
und dann auf "<util/crc16.h>: CRC Computations" klicken.

Gruß Elektrikser

von Unbekannter (Gast)


Lesenswert?

> Ich wollte eigentlich nur etwas einfaches haben. Es verhindern,
> dass jemand etwas anderes beim Copyright meines Programms
> hinschreiben kann(Windows, MinGW ).

Naja, man kann drüber streiten, ob sich dieser "Aufwand" dafür
lohnt?

Wer sich wirklich die Mühe macht, mit einem Hex-Editor oder so ein paar
Zeichenketten zu ändern, der kann mit dem enstsprechenden Tools den Teil
des Programmer, der die Checksumme überprüft, innerhalb Sekunden finden
und ändern lassen. Die Tools existieren und sind einfach zu bedienen
und sehr mächtig.

Es ist grundsätzlich nicht möglich, dass sich Software vor Änderungen
selbst schützt. Das geht einfach nicht, weil sich die Software nie auf
eine korrekte Umgebung verlassen kann.

Es ist wie mit dem "Kopierschutz" für Musik-CDs:

Gegen diejenigen, gegen die der Kopierschutz eigentlich schützen soll
weil sie hohe Energie aufwenden um irgendwelche Sachen zu kopieren und
daraus Geld zu machen, ist praktisch jeder Kopierschutz wirkungslos, da
für diese "Fachleute" ein Kopierschutz schnell ausgehebelt ist.

Aber normale, einfache und Anwender ohne technisches Verständnis,
ärgern sich darüber, dass sie die Musik-CD nicht in ihrem Auto oder
DVD-Spiele funktioniert.

Es trifft bei diesen Dingen immer die falschen. Und gegen die
eigentlich Gegner, professionelle Kopierer, ist man technisch machtlos.
Da muss man andere Strategien fahren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.