Mailinglisten-Archive |
Norbert Siebert wrote:
> Hallo Sebastian,
>
>> lass dir doch in deinem C#-Client mal den UTF8-Codierten String ausgeben
>> (vor der MD5-Kodierung) und vergleich ihn mit dem von PHP erstellten
>> UFT8-Kodierten String - oder poste die beiden dann mal hier.
>
> Die habe ich mir ausgeben lassen. Allerdings ist das in C# etwas
> schwieriger, da
> der String vor dem generieren des Schlüssel nur in als byte array vorliegt.
> Bevor sie in dieses byte array geschrieben werden, sind ist gleich.
hast du es schon mal mit recode_string() oder iconv() probiert?
> Stelle ich im C# Client die Kodierung auf ASCII um, dann erhalte ich
> identische
> Schlüssel. Die liegt halt an der Kodierung der Zeichen.
>
> Kann du dir die Ausgabe von folgendem vielleicht erklären?
>
> <?php
> echo str_pad("String 'test' nur mit MD5 Kodiert:",40)
> . md5("test") . "\n";
> echo str_pad("String 'test' mit MD5 und UTF-8 kodiert:",40)
> . md5(utf8_encode("test")) . "\n";
> echo str_pad("String 'täst' nur mit MD5 kodiert:",40)
> . md5("täst") . "\n";
> echo str_pad("String 'täst' mit MD5 und UTF-8 kodiert:",40)
> . md5(utf8_encode("täst")) . "\n";
> ?>
>
> Ausgabe:
> String 'test' nur mit MD5 Kodiert: 098f6bcd4621d373cade4e832627b4f6
> String 'test' mit MD5 und UTF-8 kodiert:098f6bcd4621d373cade4e832627b4f6
> String 'täst' nur mit MD5 kodiert: 82d29ac2844d27fc2722ad97c9d2c064
> String 'täst' mit MD5 und UTF-8 kodiert:109623cd486dccc1c2a2601b1144305f
ja, weil nur das 'ä' UTF8-kodiert wird, die anderen Zeichen sind
innerhalb der allgemein gültigen Zeichen, diese müssen nicht kodiert werden
p.s. schreib bitte an die Liste
--
Sebastian Mendel
www.sebastianmendel.de
www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive