tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
11
ZUGRIFFE
3963
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Lil-rich
    Lil-rich Lil-rich ist offline Mitglied Gold
    Registriert seit
    Jun 2006
    Ort
    Augsburg (Bayern)
    Beiträge
    112
    Hallo Leute,

    ich habe eine knifflige Frage:
    Ich habe einen Ausgangswert und seinen dazugehörigen verschlüsselten Ausgabewert. (Eigentlich nicht nur einen, sondern beliebig viele).

    Nur den Schlüssel, den habe ich nicht. Gibt es irgendeine Möglicht den herauszufinden?

    Prinzipiell sieht es so aus:
    Ausgangswort -> Schlüssel(-methode) -> Ausgabewert

    1 und 3 kann ich jeweils beschaffen, sprich ich kann für jeden beliebigen Ausgangswert den entsprechenden Ausgabewert "beschaffen". Nur wie kann ich jetzt durch die Übereinstimmungen rausfinden, wie verschlüsselt wurde? Geht das überhaupt?

    Vielen Dank schonmal...

    P.S.: Hintergrund: Ich hab ein Programm, das bei einer Art Registrierung ein beliebiges Passwort wählt, es einmalig anzeigt und dann verschlüsselt (mit einer unbekannten Methode) in der Datenbank speichert. Dieses Passwort will ich in ein von mir gewähltes Passwort ändern -> Dazu muss ich mein Wunschpasswort ja erstmal verschlüsseln Das Programm selbst bietet dazu leider keine Funktion an...
    Geändert von Lil-rich (14.01.10 um 13:26 Uhr)
     

  2. #2
    Avatar von RudolfG
    RudolfG RudolfG ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    Gummersbach (NRW)
    Beiträge
    337
    Zitat Zitat von Lil-rich Beitrag anzeigen
    P.S.: Hintergrund: Ich hab ein Programm, das bei einer Art Registrierung ein beliebiges Passwort wählt, es einmalig anzeigt und dann verschlüsselt (mit einer unbekannten Methode) in der Datenbank speichert. Dieses Passwort will ich in ein von mir gewähltes Passwort ändern -> Dazu muss ich mein Wunschpasswort ja erstmal verschlüsseln Das Programm selbst bietet dazu leider keine Funktion an...
    Hi,

    also in diesem Fall, hast du wirklich sehr schlechte Karten, wenn der Hersteller dir nicht sagt wie/welche Prüfsumme er berechnet (MD5, SHA1 etc.).

    In der Regel ist der so, dass Programme von einem Passwort eine Hash-Prüfsumme errechnen, diese, die theoretisch nicht umkehrbar ist (heißt ist nicht zurückrechenbar!) Prüfsumme wird in der Datenbank abgelegt. Wenn du jetzt im Login-Fenster dein Passwort eingibst wird von diesem auch die Prüfsumme berechnet, diese beiden Prüfsummen werden dann mit einander verglichen. (Die Passwörter sind nicht verschlüsselt, sondern nur ihre Prüfsummen liegen in der DB!)

    Da hier zwei identische Passwörter auch eine identische Prüfsumme ergeben würden und man diese mit vorgefertigte Rainbow-Tabellen vergleichen kann und somit sagen kann welches Passwort dieser Hash sein müsste, gibt es die "erweiterung" den Salted-Hash. Hierbei wird an das Password um bestimmte Werte ergänzt (die geheim/zufällig sind/bleiben) und dann gehasht. Damit kann man auch mit den Rainbow-Tabellen keine Vergleiche machen.

    Es besteht somit auch nicht für den Admin ein Chance das Passwort herrauszufinden/zu sehen (was aus Datenschutzgründen auch so sein muss!). Hier kann/muss der admin das Passwort löschen und vom Programm eine neue Prüfsumme ablegen lassen.

    Gruß
    RudolfG
     
    Technologien
    (Gute) Grundkenntnisse: HTML, CSS
    Fortgeschrittene-Kenntnisse: C++/Qt, C# (WinForms, Webservice), SQL

  3. #3
    Avatar von Lil-rich
    Lil-rich Lil-rich ist offline Mitglied Gold
    Registriert seit
    Jun 2006
    Ort
    Augsburg (Bayern)
    Beiträge
    112
    Gut, danke. Dann können wir hier wohl dicht machen
     

  4. #4
    Registriert seit
    Dec 2001
    Ort
    Hannover
    Beiträge
    4.234
    Mit mehr Informationen könnte man vielleicht auch helfen - zumindest mehr als mit vagen Beschreibungen.
    Wenn das Programm nicht zu komplex ist arbeitet es wie viele Registrierungsysteme mit einem simplen MD5 Hash (ohne Salt). Man kann eine Verschlüsselung zwar nicht per se erkennen, aber man kann Schlüsse aus z. B. der Länge ziehen (md5 - 32 Zeichen, crc32 - 8 Zeichen, sha-1 - 40 Zeichen).
     
    Copy for free - Yet another page for free software with soures:
    • BitUnlocker (Automatic unlock multiple Bitlocker secured drives - if you use the same password)
    • W7 ScrollZoom (Use Windows 7 zoom tool through your mouse wheel)
    • AppStarter (Somewhat like PortableApps launcher)
    • QuakeConsole (Show/Hide windows console with your tilde key)
    • BetterFileRenamer (Simple file renamer that adds date and version)
    .... more to come

  5. #5
    Avatar von SilentWarrior
    SilentWarrior SilentWarrior ist offline Mitglied Diamant
    Registriert seit
    Dec 2001
    Beiträge
    3.078
    Zitat Zitat von Lil-rich Beitrag anzeigen
    Gut, danke. Dann können wir hier wohl dicht machen
    Aber bitte erst noch den Titel ändern. Es geht hier wie gesagt nicht um Verschlüsselung, sondern um Hashverfahren (die man nicht entschlüsseln kann). Danke!
     

  6. #6
    Avatar von Lil-rich
    Lil-rich Lil-rich ist offline Mitglied Gold
    Registriert seit
    Jun 2006
    Ort
    Augsburg (Bayern)
    Beiträge
    112
    Zitat Zitat von Neurodeamon Beitrag anzeigen
    Mit mehr Informationen könnte man vielleicht auch helfen - zumindest mehr als mit vagen Beschreibungen.
    Wenn das Programm nicht zu komplex ist arbeitet es wie viele Registrierungsysteme mit einem simplen MD5 Hash (ohne Salt). Man kann eine Verschlüsselung zwar nicht per se erkennen, aber man kann Schlüsse aus z. B. der Länge ziehen (md5 - 32 Zeichen, crc32 - 8 Zeichen, sha-1 - 40 Zeichen).
    Beispiel:
    Sj9kkJcA würde als Hash folgendes ergeben: QUUXSAus22q/QiSkuAKYt1pAXbQ=

    Also 28 Stellen wenn ich mich nicht verzählt hab

    Zitat Zitat von SilentWarrior Beitrag anzeigen
    Aber bitte erst noch den Titel ändern. Es geht hier wie gesagt nicht um Verschlüsselung, sondern um Hashverfahren (die man nicht entschlüsseln kann). Danke!
    Geändert... Aber bitte nochmal genau lesen, es geht nicht ums Entschlüsseln, sondern ums Gegenteil, ich will einen String verschlüsseln, weiß nur nicht mit welchem Algorythmus!
     

  7. #7
    Registriert seit
    Dec 2001
    Ort
    Hannover
    Beiträge
    4.234
    Ich würde auf SHA-1(Base64) tippen (sha1 digest)
     
    Copy for free - Yet another page for free software with soures:
    • BitUnlocker (Automatic unlock multiple Bitlocker secured drives - if you use the same password)
    • W7 ScrollZoom (Use Windows 7 zoom tool through your mouse wheel)
    • AppStarter (Somewhat like PortableApps launcher)
    • QuakeConsole (Show/Hide windows console with your tilde key)
    • BetterFileRenamer (Simple file renamer that adds date and version)
    .... more to come

  8. #8
    Avatar von Lil-rich
    Lil-rich Lil-rich ist offline Mitglied Gold
    Registriert seit
    Jun 2006
    Ort
    Augsburg (Bayern)
    Beiträge
    112
    Ok, vielen Dank schonmal.

    Ich hab mal ein wenig gegoogelt und hab versucht mich ein wenig reinzulesen, aber für mich als Neuling in Hash-Verfahren ist das nicht so ganz einfach
    Gehe ich richtig in der Annahme, dass ich mit folgendem Code das richtige Ergebnis erhalten würde?
    PHP-Code:
    <?php
    $str 
    'Dies ist ein zu kodierender String';
    echo 
    base64_encode(sha1($str));
    ?>
    Wenn nicht, hast du vllt. einen Link/ein Tutorial parat durch das ich mich durchwurschteln könnte? (Vorzugsweise Deutsch+PHP, notfalls nehm ich aber natürlich auch andere Hilfen gerne an )



    Edit: Ok, scheint nicht ganz zu stimmen

    String: Sj9kkJcA
    Output: NDE0NTE3NDgwYmFjZGI2YWJmNDIyNGE0YjgwMjk4Yjc1YTQwNWRiNA==

    Edit2: Nach erneutem intensiven Googeln kommt mir die Vermutung, dass ich den/die/das "Digest" brauche (steht ja auch in deinem Post -> /me erst denken )
    Nur wie genau kriege ich diesen Wert? Ich kann bei Google leider nichts ordentliches finden...
    Geändert von Lil-rich (14.01.10 um 15:41 Uhr)
     

  9. #9
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.169
    Hi.
    Zitat Zitat von Lil-rich Beitrag anzeigen
    Gehe ich richtig in der Annahme, dass ich mit folgendem Code das richtige Ergebnis erhalten würde?
    PHP-Code:
    <?php
    $str 
    'Dies ist ein zu kodierender String';
    echo 
    base64_encode(sha1($str));
    ?>
    Fast.
    Code php:
    1
    
    echo base64_encode(sha1($str, true));
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  10. #10
    Avatar von Lil-rich
    Lil-rich Lil-rich ist offline Mitglied Gold
    Registriert seit
    Jun 2006
    Ort
    Augsburg (Bayern)
    Beiträge
    112
    Danke, klappt einwandfrei!

    Ich hatte die Hoffnung schon aufgegeben, bis heute eine neue Antwort da war

    Danke dir & den anderen natürlich auch

    /Erledigt
     

  11. #11
    Registriert seit
    Dec 2001
    Ort
    Hannover
    Beiträge
    4.234
    Jupps, ich hab kein Beispiel angegeben, weil Du nicht angegeben hattest in welcher Sprache Du das brauchst.
     
    Copy for free - Yet another page for free software with soures:
    • BitUnlocker (Automatic unlock multiple Bitlocker secured drives - if you use the same password)
    • W7 ScrollZoom (Use Windows 7 zoom tool through your mouse wheel)
    • AppStarter (Somewhat like PortableApps launcher)
    • QuakeConsole (Show/Hide windows console with your tilde key)
    • BetterFileRenamer (Simple file renamer that adds date and version)
    .... more to come

  12. #12
    Avatar von Lil-rich
    Lil-rich Lil-rich ist offline Mitglied Gold
    Registriert seit
    Jun 2006
    Ort
    Augsburg (Bayern)
    Beiträge
    112
    "Learning by doing" und" try and error" sind eh nützlicher

    Ich mag es meist sogar selbst machen, weil man einfach mehr lernt dabei. Aber trotzdem danke, gibt nicht so viele, die gleich Beispiele anfügen würden
     

Ähnliche Themen

  1. RSA-Verschlüsselung
    Von Azi im Forum Security (Viren, Trojaner, Spam)
    Antworten: 5
    Letzter Beitrag: 30.12.07, 13:05
  2. Verschlüsselung mit JCE
    Von wSam im Forum Java
    Antworten: 1
    Letzter Beitrag: 04.05.07, 00:16
  3. MD5 Verschlüsselung
    Von server im Forum PHP
    Antworten: 3
    Letzter Beitrag: 21.09.06, 09:01
  4. Verschlüsselung ?!!
    Von LoMo im Forum PHP
    Antworten: 17
    Letzter Beitrag: 13.04.05, 15:19
  5. MD5 Verschlüsselung
    Von Marshallbbw im Forum PHP
    Antworten: 7
    Letzter Beitrag: 30.03.05, 13:04