Mir ist das egal, WIE der Algorhitmus zurückgerechnet wird, Hauptsache die Lösung liefert die selben Ergebnisse.
Programmieraufgabe zur Nacht
Einklappen
X
-
-
Nicht hetzen, du hast bis Montag Zeit
Kommentar
-
Die Automatisierten Anfragen kamen von mir...
Also bis zu 9 Zeichen bekomme ich es hin (ist ja auch keine Kunst)
Habe hierzu 2 funktionen (noch etwas primitiv)
Bin grade am herausfinden wie du strings über 9 zeichen pharsen tust.
PHP-Code:function signToCryptedNo($sign)
{
$ascii = ord($sign);
$code = ($ascii/9);
// Wenn die Zahl keine Nachkommastellen besitzt dann ist der Code eine "9"
if(is_int($code))
{
$nach = "9";
} else {
list($vor, $nach) = explode(".", $code);
}
return substr($nach, 0, 1);
}
function cryptString($str)
{
if(strlen($str) > 9) die("Error! Words > 9 signs are not possible to crypt yet!");
$cplstring = "";
// Der String wird 9x wiederholt. Das ist fuer den Fall das der String nur ein Zeichen hat. (In der Schleife werden nur die ersten 9 Zeichen durch die Funktion geschickt)
$str = str_repeat($str, 9);
for($i=0;$i<=8;$i++)
{
$chr = substr($str, $i, 1);
$cplstring .= signToCryptedNo($chr);
}
return $cplstring;
}
PHP-Code:<table border="0">
<tr>
<th>DEC</th>
<th>Char</th>
<th>Unknown algo</th>
<th>My algo</th>
</tr>
<?php
for($i=0;$i<=127;$i++)
{
$codesign = file("http://sandbox.devtimes.de/hash.php?string=".urlencode(chr($i)));
echo "\t<tr>\n";
echo "\t\t<td>".$i."</td>\n";
echo "\t\t<td> ".chr($i)." </td>\n";
echo "\t\t<td>".trim(strip_tags($codesign[9]))."</td>\n";
echo "\t\t<td>".signToCryptedNo(chr($i))."</td>\n";
echo "\t</tr>\n\n";
}
?>
</table>
Die Tabelle könnt ihr euch hier ansehen:
http://www.l0ol.de/bold/aold/algo.htmlZuletzt geändert von Schanz; 04.07.2008, 17:33.
Kommentar
-
Sehr naher Einschlag. Respekt. Bin gespannt, ob du weiter kommst
Kommentar
-
Hm, also ich hatte das ja auch schon, bis zu 9 Zeichen im Input wird einfach so umgerechnet, aber dannach is echt net so einfach, hatte zuerst folgendes:
Stelle des Input | Modifiziert Stelle Output
------------------------------------------------------
0 | 0 und 5
1 | 0 und 5
2 | 1 und 6
3 | 1 und 6
4 | 2 und 7
5 | 2 und 7
6 | 3 und 8
7 | 3 und 8
8 | 4
9 | 4
------------------
aber da is noch n gewaltiger fehler drinn....
Kommentar
-
Lösung kommt ^^...
Edit: Du wolltest es nachgebaut haben? Nicht entschlüsselt oder?Zuletzt geändert von Blackgreetz; 04.07.2008, 18:41.
Kommentar
-
einen Hash kann man nicht eindeutig zurück entschlüsseln, da , auchtung, ab heir wirds wichtig, das Ergebnis in den meisten fällen weniger Stellen hat , als du mit dem Input String eingegeben hast, logisch führt das zu folgenden, angenommen wir gegben eine 11 Stelligen Text rein, dann haben wir mit allen 255 zeichen des ANSI Zeichensatzes 255^11 mögliche Strings, jetzt ist unser Output "nur" 9 Zeichen lang, die nur 1..9 enthalten, also 9^9 möglichkeiten, du siehst jetzt villeicht, dass da einige doppel Vorkommen MÜSSEN, und das heisst nix anderes als dass du das nicht zurückrechnen kannst.
Ganz abgesehn davon, dass du beim Hashen einen Datenverlust hast.
Wenn das nicht so wäre, wäre Hash der beste Komprimierungsalgorithmus den es gäbe^^
Kommentar
-
Original geschrieben von Blackgreetz
Naja.. Zahlen entschlüsseln ginge, aber nicht eindeutig.
Ist mir aber kurz nach dem Edit auch aufgefallen^^...
Hatte nur keine Lust mehr zu editieren
mfg
// Edit: Hab jetzt auch eine Idee wie es sein könnte...
V An den Poster unter mir (will keinen neuen machen)
Ich weiß das man hashs nicht zurückrechnen kann, deshalb auch die 100 €Zuletzt geändert von Schanz; 04.07.2008, 19:31.
Kommentar
-
ne leute, zahlen entschlüsseln ist unter den genannten bedingungen, von da oben auch nicht mehr, ganz davon abgesehn, das hier in der funktion die zahlen 0...9 für mehrere inputs benötigt werden, so ist z.B. die output zahl 3 schonmal in f, aber auch in o und x, also schon mal 3 möglichkeine, die eben NICHT eindeutig sind
_____
edit: lasst euch doch auch mal was von nem jüngeren gesagt sein^^ Hashs zurückrechnen generell nicht eindeutig möglich^^
_____
edit: du warst ja auch nicht gemeint^^
Kommentar
Kommentar