Xor(41d7b0eb421e6d1317d7da8fe2577bbe,d7c13f5cd327eb61280c3fe5e67b4364)
=96168fb7913986723fdbe56a042c38da
Ich habe schon einiges Versucht, aber immer kommen auf der Webseite nur
Hyroglyphen raus.
hab auch schon munter mit hexdec, decbin, bindec dechex rumgespielt, kein
resultat.
Kann mir jemand von Euch helfen? Selbst im php-irc auf freenode (500 User)
konnte keiner helfen.
> Ich muss folgendes in PHP abbilden (das hinter dem = muss also nach dem
> xor in php rauskommen:
>
> Xor(41d7b0eb421e6d1317d7da8fe2577bbe,d7c13f5cd327eb61280c3fe5e67b4364)
> =96168fb7913986723fdbe56a042c38da
Ist doch easy:
$str1 = '41d7b0eb421e6d1317d7da8fe2577bbe';
$eles = array();
$str2 = 'd7c13f5cd327eb61280c3fe5e67b4364';
for ($i = 0; $i < 32; $i += 2)
{
$eles[] = dechex(hexdec(substr($str1, $i, 2))
^ hexdec(substr($str2, $i, 2)));
}
echo join($eles);
MfG, Ulf
> $eles[] = dechex(hexdec(substr($str1, $i, 2))
nicht ganz das dechex u.u. für Wetre < 16 nur ein Zeichen zurückgibt.
daher besser so:
$str1 = '41d7b0eb421e6d1317d7da8fe2577bbe';
$str2 = 'd7c13f5cd327eb61280c3fe5e67b4364';
$xor=''
for ($i = 0; $i < 32; $i += 2)
{
$xor.=sprintf("%02x",hexdec(substr($str1, $i, 2))
^ hexdec(substr($str2, $i, 2)));
}
echo $xor;
Sam
--
Fortgeschrittene Inkompetenz ist nicht zu Unterscheiden von Boshaftigkeit.
(J. Porter Clark)
> Ulf [Kado] Kadner schrieb:
>> $eles[] = dechex(hexdec(substr($str1, $i, 2))
>
> nicht ganz das dechex u.u. für Wetre < 16 nur ein Zeichen zurückgibt.
Es ging um das was im OP steht! Geau dort besteht das Problem nicht. Er
schrieb nix von allgemeiner Verwendung.
Ist natürlich OK das Du darauf hinweist. Aber wie gesagt an meiner Lösung
ist für seinen speziellen Fall nix auszusetzen.
MfG, Ulf
> Ist natürlich OK das Du darauf hinweist. Aber wie gesagt an meiner Lösung
> ist für seinen speziellen Fall nix auszusetzen.
Naja
16 x dechex(1) ='1111111111111111';
16 x sprintf("%02x",1) = '01010101010101010101010101010101';
ist halt hat nur ein klitze kleiner zu vernachlässigender Unterschied.
Der OP wollte zwei 64 Bit Integer XORern. Das ist weder allgemein noch
speziell. Zwischendurch ein paar 4 bit Nibbels wegzulassen nur weil sie 0
sind, ist eine nicht zu vertretende Diskriminierung des Wertes 0.
btw. warum gleich eingeschnappt?
Sam.
> Der OP wollte zwei 64 Bit Integer XORern.
Korrektur: 128 Bit
Sam
> btw. warum gleich eingeschnappt?
Ich? Sollte ich das?
Hab einfach nur meine Beweggründe genannt warum ich es nicht in der Form
wie Du geschrieben hab. Mit eingeschnappt hat das nix zu tun.
MfG, Ulf
Danke nochmal an alle für Ihre Infos