• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

md5

Status
Für weitere Antworten geschlossen.
B

blueberry

Guest
es gibt ja die funktion in php md5()

kann man auch ver´schlüsseltes wieder entschlüsseln?
nehmen wir an, mein passwort heißt tobias also dann

<?PHP
echo md5("tobias");
?>

und das was ausgegeben wird, möchte ich gerne wieder umwandeln, also müsste es so aussehen:

<?PHP
$tobias = md5("tobias");

echo $tobias;

und hier müsste die zurückwandlung kommmen.

echo $zurückverschlüsselt;
?>
 
Werbung:
ein md5 passwort kann man nur mit bruteforce wieder zu dem plaintext passwort zurueckfuehren. je nach laenge des passwortes kannste das aber vergessen. ich hab vor ein paar tagen mal so ein bruteforcer geschrieben, der passwoerter mit einer laenge von bis zu 5 buchstaben knackt - da rechnet der computer aber an die 24h.

PS: das ist ja genau der vorteil, dass du von md5 nicht mehr auf das plain-text passwort kommst. du kannst jedem die md5-hash von deinem passwort geben, die z.b. auch in einer oeffentlichen datenbank speichern, aber niemand kommt an das passwort.
 
stimmt, da haste wieder recht. Naja, das war nur so interesse halber, achja, ich habe brutus, aber ich glaube nicht das das was nützt oder?
 
Werbung:
bruteforce ist methode, kein programm. hier das konzept:

du probierst alle moeglichen kombinationen durch (a, b, c ,... aa, ab,ac,....aba,abb,abc,...) und generierst daraus einen MD5 hash. diesen vergleichst du dann mit dem hash, den du schon hast. wenn die beiden uebereinstimmen, dann hast du auch das passwort, da immer gilt:

md5($string) == md5($string)

also wenn 2x der gleiche string eingegeben wird, kommt auch das gleiche raus.
 
je nach laenge des passwortes. das passwort "tobias" ca. 2-3 tage ;) wenn da aber "au%#$^81923$^@" steht, dann bist du schon mal ein jahr dran ;)
 
Werbung:
hier wäre ein beispiel, dass nicht schlecht funktioniert (von raphaelp geschrieben :wink: ):

[php:1:c79f294f8a]<?php
$array = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
$target = "916c51ad2d097500df15093e57a53bd7";
for ($i=0;$i<count($array);$i++) {
$str = $array[$i];
if ($target == md5($str)) {
die("FOUND ====> ".$str);
}
}
for ($i=0;$i<count($array);$i++) {
for ($j=0;$j<count($array);$j++) {
$str = $array[$i].$array[$j];
if ($target == md5($str)) {
die("FOUND ====> ".$str);
}
}
}
for ($i=0;$i<count($array);$i++) {
for ($j=0;$j<count($array);$j++) {
for ($k=0;$k<count($array);$k++) {
$str = $array[$i].$array[$j].$array[$k];
if ($target == md5($str)) {
die("FOUND ====> ".$str);
}
}
}
}
for ($i=0;$i<count($array);$i++) {
for ($j=0;$j<count($array);$j++) {
for ($k=0;$k<count($array);$k++) {
for ($l=0;$l<count($array);$l++) {
$str = $array[$i].$array[$j].$array[$k].$array[$l];
if ($target == md5($str)) {
die("FOUND ====> ".$str);
}
}
}
}
}
?>[/php:1:c79f294f8a]

also das geht bis zu 4 stellen...
 
hey, das ist mein source! :)

**EDIT:** dieser code funktioniert nur mit passwoerten welche ausschliesslich buchstaben (a-z und A-Z) beinhalten. abc1 wird nicht gefunden, abcd aber schon.
 
Werbung:
warum willst du die überhaupt entschlüsseln???
Willst du den Benutzern aus deinem Forum die Passwörter klauen???
 
Nein, das ist nur so Interessehalber, weil einer mal geschrieben hat, das man diese Passwörter nie wieder zurück entschlüsseln lassen kann
 
Werbung:
es gibt keine 100%ige sicherheit, denn dann koenntest du das PW selbst auch nimmer verwenden... dies nur so nebenbei. aber md5 is scho ziemlich gut :)

ach und uebrigens... ich weiss nimmer wo genau ich das gelesen habe. aber md5(md5()) bringt keine zusaetzliche sicherheit :)
 
doch bringt es.... :mrgreen:
also der, der es herausfinden will, muss einfach zuerst schon so einen langen schlüssel entcoden, weil er NICHT weiss, dass es md5(md5()) ist :wink:
und dann erst das richtige passwort...
 
Werbung:
nein, du gehst immer direkt vom passwort aus ...

anstatt if ($target == md5($passwort)) machste dann einfach if ($target == md5(md5($passwort)))

verstehst ? :)
 
ja aber der, der das pw rausfinden will, hat ja keine ahnung, dass auf der page die pw's mit md5(md5()) verschlüsslet werden...
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben