Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Bäckerei B. Rot (Schleifen)

Die Bäckerei B. Rot schließt ihren Betrieb aufgrund roter Zahlen. Angestellte der ehemaligen Bäckerei suchen nun Arbeit, die sie beim Plattenleger Placido finden.

Plattenleger Placido, 19 Jahre alt, hatte vor Kurzem die Idee, seine eigene Firma zu gründen, und was wäre da besser geeignet als sein langjähriger Traumjob – Plattenleger?

Mit der Aufgabe, sich um die neuen Angestellten zu kümmern, ist er aber völlig überfordert. Er überlegt sich daher, einen Organisationsplaner auf seinem Rechner zu installieren. Gesagt, getan.

Am nächsten Montag finden die Angestellten ihn verzweifelt vor dem Rechner sitzen – Plattenleger Placido hat das Kennwort des Organisationsplaners vergessen, welches aus vier Ziffern besteht. Ein computergewandter Angestellter sucht im Internet nach einer Lösung und findet schließlich eine versteckte Datei, die das Kennwort als MD5-Hash enthält. Dieselbe Internetseite verweist auch auf eine Seite, die diesen Hash als Klartext ausgeben kann, jedoch wurde beim letzten Update der Seite wohl ein Fehler im JavaScript-Code eingebaut, sodass nun keine Ausgabe mehr erscheint. Jetzt ist der computergewandte Angestellte gefragt.

Schreiben Sie ein Programm, welches auf Basis des MD5-Hashes das Passwort ausgibt. Dieses Programm sollte ohne Internet funktionieren sowie auf den Gebrauch von Rainbow Tables verzichten.

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

3 Lösung(en)

using System;
using System.Linq;
using System.Text;
using System.Security.Cryptography;

namespace Hashrechner
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Gebe den Hash Wert ein:");
            string Input = Console.ReadLine();

            for(int i = 0; i <= 9999; i++)
            {
                MD5 H = MD5.Create();
                byte[] PW = H.ComputeHash(new UTF8Encoding().GetBytes(i.ToString()));
                
                string Hash = "";
                PW.ToList().ForEach(x => Hash += x.ToString("X2"));

                if (Hash.ToLower() == Input.ToLower())
                {
                    Console.WriteLine("Das Passwort lautet: {0}", i);
                }

            }
            Console.ReadKey();          
        }
    }
}

                

Lösung von: Tobias Golz (Adolf Kolping Berufskolleg)

import hashlib


to_be_cracked = input("MD5: ").lower()

for i in range(9999):
    the_hash = hashlib.md5()
    
    digits = "{:04d}".format(i)
    the_hash.update(digits.encode())

    crack = the_hash.hexdigest()

    if(crack == to_be_cracked):
        print("Das Passwort ist {0}.".format(i))

                

Lösung von: Ich Bins (tubs)

<?php
	/** 
	Extrem wichtig ist hier, dass ein 4-Stelliger Code verlangt wird.
	Ein md5 hash von 0, 1, ..., 999 ist NICHT gleich 0000, 0001, ..., 0999.
	**/
		
	if(isset($_POST['hash'])) // Hash-Check & Output
		{
			$decrypted = ""; // variable definieren, da sonst "undefined variable" Fehler ausgegeben werden.
			for($i = 0; $i <= 9999; $i++)  
				{
					$output = ($i < 10 ? "000".$i : ($i < 100 && $i > 9 ? "00".$i : ($i < 1000 && $i > 99 ? "0".$i : ($i < 1000 ? $output : $i)))); //Falls $i Einstellig (0-9), stelle $i 3 Nullen vor, sonst falls zweistellig, stelle 2 Nullen vor, etc.
						$md5 = md5($output); //Die aktuelle Zahl mit md5 encrypten.
						($_POST['hash'] == $md5 ? $decrypted = $output : ""); //Überprüfen, ob der eingegebene wert mit $md5 übereinstimmt.
				}
			echo ($decrypted == "" ? "Fehler: Eingegebener Hash ist ungültig, nicht gesetzt oder nicht im gegebenen Bereich" : "Der 4-Stellige Code ist: ".$decrypted);
		}
	else // HTML Form Input damit der Benutzer einen Code eingeben kann.
		{
			echo "<form method=\"POST\" enctype=\"text/plain\">"."\r\n";
			echo "<input type=\"text\" name=\"hash\" value=\"81dc9bdb52d04dc20036dbd8313ed055\" style=\"width:300px;\">"."\r\n"; //Test-String 1234 als md5 bereits vorgegeben.
			echo "<input type \"submit\" value=\"Hash Testen\">"."\r\n";
			echo "</form>"."\r\n";
		}
?>
                

Lösung von: Howard Dennis King (IT-Schule Stuttgart)

Verifikation/Checksumme:

MD5: def7924e3199be5e18060bb3e1d547a7 Passwort: 3456

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 0.25
Schwierigkeit: Leicht
Webcode: xyik-p5d5
Autor: ()

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen