pother_dane: checksummen bei gleichem input unterschiedlich

hallo,

vorneweg: ich bin keine profi der computerei und bitte deshalb evetuell falsch verwandtes vokabular zu verzeihen.
anlässlich eines rätsel dass ich lösen soll spiele ich derzeit mit checksummen (md5, sha1 etc.) rum. es gilt einen string zu "erraten" vom dem der ungefähre inhalt bekannt ist und der sehr wahrscheinlich mit irgendeinem verfahren gechecksummt wurde. würde man ja meinen: kein großes problem, kleines programm schreiben und die strings durchprobieren bis einer passt. ich kam aber zu keinem ergebnis und im verlauf des troubleshootings machte ich folgende beobachtung: php, python und javascript/node.js sind sich bei der erstellung von checksummen einig - d.h. schmeiß ich den gleichen string in die jeweilige funktion kommt hinten zuverlässig die gleiche checksumme raus. dabei ist egal welchen algorithmus ich verwende. schmeiß ich allerdings den gleichen string auf md5sum/shasum/sha1sum/etc. in der CL kommt zuverlässig ein andere checksumme als bei den oben erwähnten raus.
klar, da könnte man drumrum arbeiten. interessieren würd mich trotzdem wie es zu den unterschiedlichen summen kommt.

danke schonmal,

henning aka pD

  1. Ich würde mutmaßen, dass es etwas mit der Codierung der Daten zu tun hat. Ist natürlich nur geraten, aber vielleicht ein lohnender Ansatzpunkt.

    Gruß, LX

    --
    RFC 1925, Satz 2: Egal, wie fest man schiebt, ganz gleich, wie hoch die Priorität ist, man kann die Lichtgeschwindigkeit nicht erhöhen.
  2. Hi!

    php, python und javascript/node.js sind sich bei der erstellung von checksummen einig [...] schmeiß ich allerdings den gleichen string auf md5sum/shasum/sha1sum/etc. in der CL kommt zuverlässig ein andere checksumme als bei den oben erwähnten raus.

    Checksummen arbeiten mit Bytewerten, nicht mit den Zeichen. Schau also nach, welche Bytewerte du verarbeitest. bin2hex() für PHP wäre dafür geeignet und hexdump von der Linux-CL.

    Lo!

  3. hallo,

    .. in der CL kommt zuverlässig ein andere checksumme als bei den oben erwähnten raus.

    Evntl. ist in der CL (Command Line) das "Enter-Zeichen" (Return) mit dabei?

    Hotti

    1. hallo,

      Evntl. ist in der CL (Command Line) das "Enter-Zeichen" (Return) mit dabei?

      daran hab ich auch schon gedacht. soweit ich das überblicke (wie gesagt, ich bin amateur) sollte doch so

      $ md5sum <(echo "foobar")
      oder
      $ echo "foobar" | md5sum

      kein linefeed dabei sein... ... ... oder?

      henning aka pD

    2. stop!

      Evntl. ist in der CL (Command Line) das "Enter-Zeichen" (Return) mit dabei?

      das war es doch. ich wusste nicht, dass echo immer ein newline dranhängt. wenn ich das unterdrücke

      $ echo -n "foobar" | md5sum

      ergibt alles einen sinn. die checksummen stimmen jetzt alle, das programm passt und meine schöne theorie von der lösung ist dahin... super!

      danke und gruß,

      henning aka pD

    3. Hello,

      .. in der CL kommt zuverlässig ein andere checksumme als bei den oben erwähnten raus.

      Evntl. ist in der CL (Command Line) das "Enter-Zeichen" (Return) mit dabei?

      Da sprach der Praktiker und traf ins Schwarze ;-))

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Helo,

        Evntl. ist in der CL (Command Line) das "Enter-Zeichen" (Return) mit dabei?

        Da sprach der Praktiker und traf ins Schwarze ;-))

        Naja, es war nur eine Vermutung. Dass "echo" auch noch im Spiel ist, wusste ich nicht. Indes: Aus der Praxis, Eingaben in ein Perl-Script, like

        my $in = <STDIN>;

        erfordern schon ein

        chomp $in;

        damit die Newline wegfliegt, sonst isse mit dabei ;-)

        Viele Grüße,
        ab morgen wieder offline (Baustelle),
        der Oppenheimer