Dienstag, Februar 18, 2020

verschlüsseln und entschlüsseln md5

Bin ich mit dem code $enrypt=md5($pass) und einfügen $encrypt Datenbank. Ich möchte herausfinden, einen Weg, Sie zu entschlüsseln. Ich habe versucht, über einen Entschlüsselungs-software, aber es sagt, dass der Hashwert sollte von genau 16 bytes. gibt es eine Möglichkeit es zu entschlüsseln oder zu machen, ein 16 byte md5-hash?

Mein hash sieht wie folgt aus: c4ca4238a0b923820dcc

Kommentar zu dem Problem
Sie nicht entschlüsseln, MD5… Kommentarautor: sachleen
Hashing ist ein one-way-Betrieb, d.h. es können nicht entschlüsselt werden. Allerdings konnte man brute-force-hash zu finden, was input(s) für ihn arbeiten. Kommentarautor: Vulcan
md5 ist eine alte und leicht zerbrechlich Passwort-hashing-Mechanismus, schlage ich vor, Sie verwenden die neueste Passwort-Verschlüsselungs-Algorithmus. Kommentarautor: KyelJmD
Ich sehe keinen Grund, warum diese Frage ist downvoted. das Plakat ist wahrscheinlich ein student. Kommentarautor: KyelJmD
md5 ist nicht ist eine Verschlüsselung-Funktion, so dass es nicht entschlüsselt werden kann (da keine eigentliche Verschlüsselung findet statt). Es ist eine Hash-Funktion. Kommentarautor: ccKep

InformationsquelleAutor der Frage Tomer | 2013-03-04

5 Kommentare

  1. 56

    Wie gesagt, man kann nicht entschlüsseln, MD5, ohne Versuch so etwas wie brute-force-hacking, die ist extrem Ressourcen-intensiv, aber nicht praktisch, und unethisch.

    Allerdings könnten Sie etwas wie diese zu verschlüsseln /entschlüsseln Passwörter/etc sicher:

    $input = "SmackFactory";
    
    $encrypted = encryptIt( $input );
    $decrypted = decryptIt( $encrypted );
    
    echo $encrypted . '<br />' . $decrypted;
    
    function encryptIt( $q ) {
        $cryptKey  = 'qJB0rGtIn5UB1xG03efyCp';
        $qEncoded      = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), $q, MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ) );
        return( $qEncoded );
    }
    
    function decryptIt( $q ) {
        $cryptKey  = 'qJB0rGtIn5UB1xG03efyCp';
        $qDecoded      = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), base64_decode( $q ), MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ), "\0");
        return( $qDecoded );
    }

    Mit einem encypted-Methode mit dem Salz wäre auch sicherer, aber das wäre ein guter Nächster Schritt Vergangenheit, die nur mit einem MD5-hash.

    InformationsquelleAutor der Antwort BIT CHEETAH

  2. 14

    Gibt es keine Möglichkeit zum entschlüsseln von MD5. Gut, es gibt aber keine angemessenen Weg, es zu tun. Das ist irgendwie der Punkt.

    Um zu überprüfen, ob jemand die Eingabe des richtigen Kennworts, müssen Sie die MD5 -, was der Benutzer eingegeben, und sehen, ob es dem entspricht, was Sie haben in die Datenbank.

    InformationsquelleAutor der Antwort Niet the Dark Absol

  3. 5
    /* you  can match the exact string with table value*/
    
    if(md5("string to match") == $res["hashstring"])
     echo "login correct";

    InformationsquelleAutor der Antwort Mahesan Rv

  4. 3

    Diese Frage ist Tags mit PHP. Aber viele Menschen sind mit Laravel framework jetzt. Es könnte helfen, jemand in der Zukunft. Das ist, warum ich die Beantwortung für Laravel. Es ist mehr einfach zu ver-und entschlüsseln mit internen Funktionen.

    $string = 'c4ca4238a0b923820dcc';
    $encrypted = \Illuminate\Support\Facades\Crypt::encrypt($string);
    $decrypted_string = \Illuminate\Support\Facades\Crypt::decrypt($encrypted);
    
    var_dump($string);
    var_dump($encrypted);
    var_dump($decrypted_string);

    Hinweis: stellen Sie sicher, dass Sie ein 16, 24, oder 32-stellige zufällige Zeichenfolge in der
    key-option der config/app.php Datei. Ansonsten, verschlüsselte Werte
    nicht sicher sein.

    Aber Sie sollten nicht verwenden, verschlüsseln und entschlüsseln, die für die Authentifizierung. Vielmehr sollten Sie verwenden Sie hash machen und überprüfen.

    Zu speichern, Passwort in der Datenbank, make-hash des Passworts und dann speichern.

    $password = Input::get('password_from_user'); 
    $hashed = Hash::make($password); //save $hashed value

    , Um zu überprüfen, Passwort erhalten, Passwort gespeichert, der account aus der Datenbank

    //$user is database object
    //$inputs is Input from user
    if( \Illuminate\Support\Facades\Hash::check( $inputs['password'], $user['password']) == false) {
      //Password is not matching 
    } else {
      //Password is matching 
    }

    InformationsquelleAutor der Antwort Somnath Muluk

  5. 2

    Hashes können nicht entschlüsselt werden check this out.

    Wenn Sie möchten, zu verschlüsseln-entschlüsseln, verwenden Sie einen zwei-Wege-Verschlüsselungs-Funktion der Datenbank-wie – AES_ENCRYPT (in MySQL).

    Aber ich werde vorschlagen, CRYPT_BLOWFISH-Algorithmus für die Speicherung der Passwort. Lesen Sie diese- http://php.net/manual/en/function.crypt.php und http://us2.php.net/manual/en/function.password-hash.php

    Für Blowfish von crypt() Funktion –

    crypt('String', '$2a$07$twentytwocharactersalt$');

    password_hash werden eingeführt in PHP 5.5.

    $options = [
        'cost' => 7,
        'salt' => 'BCryptRequires22Chrcts',
    ];
    password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);

    Sobald Sie das Kennwort gespeichert haben, können Sie dann prüfen, ob der Benutzer korrekt eingegeben Passwort-hashing es wieder und vergleicht Sie mit dem gespeicherten Wert.

    InformationsquelleAutor der Antwort ShuklaSannidhya

Kostenlose Online-Tests