mikrocontroller.net

Forum: Compiler & IDEs Einfache Prüfsumme


Autor: Caruso (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Caruso (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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__...

Autor: Fritz Ganter (fritzg)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Benedikt (Gast)
Datum:

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

Autor: Caruso (Gast)
Datum:

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

Autor: Elektrikser (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.