lska: Text Encoding Problem

Hey,

Wenn ich eine Hashwert berechne mit

$Hashwert = hash("md5","Test")

wird immer ein Hash der Form "0cbc6611f5540bd0809a388dc95a615b" ausgegeben.

Wie schaffe ich es einen String mit ASCII-Zeichen (Äü2ße1 etc.) in dasselbe Format umzuwandeln?

Danke im Voraus

  1. Wie schaffe ich es einen String mit ASCII-Zeichen (Äü2ße1 etc.) in dasselbe Format umzuwandeln?

    Äüß sind keine ASCII-Zeichen. Indes:

    echo md5('äöüß'), "\n", hash('md5', 'äöüß');

    ergibt bei mir denselben Hash. Wie schaffst Du es, dass das bei Dir nicht funktioniert?

    --
    Einfaches einfach zu lösen ist oft komplizierter als Einfaches kompliziert zu lösen.
  2. Hallo,

    Wenn ich eine Hashwert berechne mit

    $Hashwert = hash("md5","Test")

    wird immer ein Hash der Form "0cbc6611f5540bd0809a388dc95a615b" ausgegeben.

    ja, das ist logisch - derselbe Eingabewert sollte natürlich auch immer denselben Hashwert ergeben.

    Wie schaffe ich es einen String mit ASCII-Zeichen (Äü2ße1 etc.) in dasselbe Format umzuwandeln?

    Dass Ä, ü und ß keine ASCII-Zeichen sind, hat hotti ja schon klargestellt. Davon abgesehen verstehe ich das Problem nicht. Worin liegt für dich der Unterschied, ob du den String "Test" oder den String "hähü" an hash() verfütterst? Anders gefragt, worin besteht das Encoding-Problem, das du im Thread-Titel andeutest?

    Dass die Nicht-ASCII-Zeichen je nach verwendeter Codierung anders gespeichert werden und daher auch andere Hashwerte ergeben, ist natürlich klar. Oder?

    Ciao,
     Martin

    --
    Der Sinn einer Behörde besteht in ihrer Existenz.
      (alte Beamtenweisheit)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. @@Der Martin:

      nuqneH

      Dass die Nicht-ASCII-Zeichen je nach verwendeter Codierung

      und Normalisierungsform

      anders gespeichert werden und daher auch andere Hashwerte ergeben, ist natürlich klar.

      Qapla'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)