Entschlüsseln Sie SHA1 mit (Passwort) in Python

Ich habe eine Funktion für die Verschlüsselung mit SHA-1 in Python, mit hashlib . Ich nehme eine Datei und verschlade den Inhalt mit diesem Hash.

Wenn ich ein Passwort für eine verschlüsselte Textdatei setze, kann ich dieses Passwort verwenden, um die Datei mit dem Originaltext zu entschlüsseln und wiederherzustellen?

3 Solutions collect form web for “Entschlüsseln Sie SHA1 mit (Passwort) in Python”

Hashing-Funktionen sind anders als normale Krypto-Algorithmen. Sie werden oft als Einweg-Ziffern bezeichnet, da die Prozessdaten durchlaufen, ist irreversibel.

Anders als symmetrische und assymetrische Verschlüsselung werden Hashes verwendet, indem sie die Hash-Werte selbst behaupten, anstatt die Klartextwerte zu entschlüsseln und zu behaupten. Um Logins zu validieren, wenn du Hashes benutzt hast, hast du das Passwort, das der Benutzer gerade versucht hat, sich einzuloggen und es mit dem Hash zu vergleichen, den du auf deinem DB hast. Wenn sie übereinstimmen, ist die Anmeldung erfolgreich.

Cracking Hashes beinhaltet Raten Hashing verschiedene verschiedene Saiten und versuchen, Hash-Werte an diejenigen, die illegal aus einer DB erhalten Match. Es gibt Listen im Internet mit Millionen von bereits Hash-Werte, um Hash-Cracken zu erleichtern, die als Regenbogen-Tische bekannt sind und sie können leicht mit der Verwendung von Salzen bekämpft werden.

Es ist auch erwähnenswert, dass seit Hash-Algorithmen in der Lage sind, GBs von Daten in deutlich kleinere Zeichenfolgen zu verdauen, mathematisch können zwei verschiedene Werte identische Hashes haben. Obwohl dies sehr selten ist, ist es ein bestehendes Problem, und es ist bekannt als Hash Collision .

Können Sie sich vorstellen, wenn Hashing reversibel war? Festplatten würden reduntant sein, da wir in der Lage sein würden, Tausende von GBs in eine kleine Textfolge zu schlagen und sie umzukehren, wie es uns gefällt. Es wäre das Nirvana der Datenkompression und Lagerung.

Ähnliche Wikipedia Artikel:

Hashing Algorithmen: http://de.wikipedia.org/wiki/Hash_function

Regenbogen Tische: http://de.wikipedia.org/wiki/Rainbow_table

Salze: http://de.wikipedia.org/wiki/Salt_(cryptography)

Kollision: http://de.wikipedia.org/wiki/Collision_(computer_science)

Symmetrische Verschlüsselung: http://de.wikipedia.org/wiki/Symmetric-key_algorithm

Assymetrische Verschlüsselung: http://de.wikipedia.org/wiki/Public-key_cryptography

SHA-1 ist kein Verschlüsselungsalgorithmus , sondern ein Hash- Algorithmus. Definitionsgemäß können Sie mit der SHA-1-Funktion nichts entschlüsseln, es ist nicht umgekehrt.

Wenn du ein willkürliches Hash-Passwort hast, gibt es sehr wenig, was du tun kannst, um das Original-Passwort abzurufen – Wenn du Glück hast, könnte das Passwort in einer Datenbank von Reverse Hashes sein , aber das ist so weit wie du gehen kannst.

Und der Nachrichten-Extraktionsalgorithmus erwartet das ursprüngliche Passwort, um die Überprüfung durchzuführen – der Algorithmus hash das bereitgestellte Klartext-Passwort und vergleicht es mit dem gespeicherten Hash-Passwort, nur wenn sie gleich sind, wird die Klartext-Nachricht enthüllt.

Hash-Funktionen sind Einweg-Tickets. Sie können sie nicht zur Verschlüsselung verwenden.

Hash-Funktionsalgorithmen werden durch modulo, xor und andere vertraute (Einweg) Operationen realisiert.

Sie können versuchen zu finden, welches Argument verwendet wurde, um Hash zu generieren, aber in der Theorie werden Sie nie 100% sicher sein, dass es der richtige Wert ist.

Zum Beispiel versuchen Sie mit einem wirklich einfachen (nutzlos in Kryptographie) Hash-Funktion modulo 10. Diese Funktion gibt zehn verschiedene Werte zurück. Wenn es 7 ist, kann man erraten, dass der Eintrag 7 oder 137 und 1234567 war. Gleich wie bei md5, sha1 und besser.

Wie Sie sehen können, in dem Fall, wenn Sie Hash-Funktion, die nur 40 Bytes mit Dateien, die viel größer sind (vielleicht sogar wenige hundert Megabyte) gibt es in der Theorie existiert unendliche Anzahl von Dateien für jeden möglichen Hash.

  • Wie kann ich in Python verschlüsseln und in Java entschlüsseln?
  • Verwenden Sie RSA, um in JavaScript zu verschlüsseln und in Python3 zu entschlüsseln
  • Verschlüsseln und Entschlüsseln durch AES-Algorithmus in Python und Android
  • Xlrd - Fehler "Arbeitsmappe ist verschlüsselt", Python 3.2.3
  • Ist es möglich, einen 100% sicheren virtuellen privaten Server zu haben?
  • Pythons sicherste Methode zum Speichern und Abrufen von Passwörtern aus einer Datenbank
  • Verschlüsseln und Entschlüsseln mit PyCrypto AES 256
  • Sicher verschlüsseln Sie ganzzahlige (bis zu 2 ^ 48) in den kürzesten URL-sicheren String
  • Python und PGP / Verschlüsselung
  • Wie würde ich ein einfaches Verschlüsselungs- / Entschlüsselungsprogramm machen? [abgeschlossen]
  • Ich muss sicher einen Benutzernamen und ein Passwort in Python speichern, was sind meine Optionen?
  • Python ist die beste Programmiersprache der Welt.