IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Decryptage AES bloqué


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 84
    Par défaut Decryptage AES bloqué
    Bonjour, voici mon soucis j'ai crypter un mot de passe en AES, celui-ci a très bien marche maintenant a la connexion je voudrais décrypter celui-ci à partir de la base mais decrypted ne prend jamais de valeur je ne comprend pas pourquoi, si quelqu'un a une idée je suis preneur !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
    <?php
    include('header.html');
    include('../trombi/accesBD.Script.php');
    $BD = new accesBD;
    $bdd = $BD->connexionMysqliUti();
    $username = $password = "";
    $username_err = $password_err = "";
    $method = 'aes-256-cbc';
    $cle = '3sc3RLrpd17';
    $iv = chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0);
     
     
    if($_SERVER["REQUEST_METHOD"] == "POST"){
     
            $username = $_POST["username"];
            $password = $_POST['password'];
     
        // Check des informations par rapport à la base
        if(empty($username_err) && empty($password_err)){
     
            $req = "SELECT username, password
            FROM users
            WHERE username = ?
            AND ID_MODULE = 1";
     
            if($stmt = mysqli_prepare($bdd, $req)){
     
                mysqli_stmt_bind_param($stmt, "s", $param_username);
     
     
                $param_username = $username;
     
                if(mysqli_stmt_execute($stmt)){
     
                    mysqli_stmt_store_result($stmt);
      // Check si l'username existe
                    if(mysqli_stmt_num_rows($stmt) == 1){
     
                        mysqli_stmt_bind_result($stmt, $username, $hashed_password);
     
                        if(mysqli_stmt_fetch($stmt)){
                          $decrypted = openssl_decrypt(base64_decode($hashed_password), $method, $cle, OPENSSL_RAW_DATA, $iv);
                            if($password == $decrypted){
    // Check password par rraport au username
                                session_start();
                                $_SESSION['username'] = $username;
                                $_SESSION['connexion'] = 1;
                                header("location: PageAccueil.php");
     
                            } else{
     
                                echo $decrypted. "<br>";
                                echo $hashed_password. "<br>";
                                echo $method. "<br>";
                                echo $cle. "<br>";
                                $password_err = "Le password que vous avez entrer n'ai pas valide.";
                            }
                        }
                    } else{
                        $username_err = 'Pas de compte trouvé pour cet utilisateur';
                    }
                }
            }
            mysqli_stmt_close($stmt);
        }
     
        mysqli_close($bdd);
    }
    ?>
     
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Login</title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
        <link rel="stylesheet" href="css/index.css" />
        <style type="text/css">
            .form{ font: 14px sans-serif; }
            .wrapper{ width: 100%; text-align: center;padding: 20px; margin-left: auto; margin-right: auto;min-width: 300px;max-width: 500px}
        </style>
    </head>
    <body>
        <div class="wrapper">
            <h2>Connexion</h2>
     
            <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post" class="form">
                <div class="form-group <?php echo (!empty($username_err)) ? 'has-error' : ''; ?>">
                    <input type="text" name="username"class="form-control" value="<?php echo $username; ?>" placeholder="identifiant" required>
                    <span class="help-block"><?php echo $username_err; ?></span>
                </div>
                <div class="form-group <?php echo (!empty($password_err)) ? 'has-error' : ''; ?>">
                    <input type="password" name="password" class="form-control" placeholder="mot de passe" required>
                    <span class="aide"><?php echo $password_err; ?></span>
                </div>
                <div class="form-group">
                    <input type="submit" class="btn btn-primary" value="Login">
                </div>
            </form>
        </div>
     
    </body>
    </html>
    Merci

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Ligne 29 dans le code ci-dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysqli_stmt_bind_param($stmt, "s", $param_username);
    D'où viens $param_username ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 84
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Ligne 29 dans le code ci-dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysqli_stmt_bind_param($stmt, "s", $param_username);
    D'où viens $param_username ?
    Le param username , est la récupération de l username qui ce fait avec la page de connexion , mais le soucis n'est pas la vu que le mot de passe est bien récupérer d'après le hasched

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Et donc cette variable $hashed_password est aussi dans la classe connexion ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 84
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Et donc cette variable $hashed_password est aussi dans la classe connexion ?
    Le $hashed_password est le mot de passe qui ce trouve dans la base crypter en AES

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 84
    Par défaut
    Pour le cryptage et decryptage je me suis baser sur ce script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
     
    $plaintext = 'My secret message 1234';
    $password = '3sc3RLrpd17';
    $method = 'aes-256-cbc';
     
    // Must be exact 32 chars (256 bit)
    $password = substr(hash('sha256', $password, true), 0, 32);
    echo "Password:" . $password . "\n";
     
    // IV must be exact 16 chars (128 bit)
    $iv = chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0);
     
    // av3DYGLkwBsErphcyYp+imUW4QKs19hUnFyyYcXwURU=
    $encrypted = base64_encode(openssl_encrypt($plaintext, $method, $password, OPENSSL_RAW_DATA, $iv));
     
    // My secret message 1234
    $decrypted = openssl_decrypt(base64_decode($encrypted), $method, $password, OPENSSL_RAW_DATA, $iv);
     
    echo 'plaintext=' . $plaintext . "\n";
    echo 'cipher=' . $method . "\n";
    echo 'encrypted to: ' . $encrypted . "\n";
    echo 'decrypted to: ' . $decrypted . "\n\n";
    ?>

Discussions similaires

  1. Decryptage fichier clé AES entre PHP et Java
    Par Gaspard22 dans le forum Sécurité
    Réponses: 0
    Dernier message: 13/04/2015, 17h24
  2. Decryptage AES CFB128 : recherche DLL
    Par ihih45 dans le forum Sécurité
    Réponses: 0
    Dernier message: 13/10/2014, 21h39
  3. Decryptage AES 256 avec Mot de passe
    Par Lekno dans le forum Sécurité
    Réponses: 1
    Dernier message: 29/05/2013, 11h17
  4. Codage AES, et decryptage
    Par cassegrain dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 17/12/2008, 14h02
  5. Probleme decryptage AES
    Par lilli1407 dans le forum Sécurité
    Réponses: 6
    Dernier message: 11/08/2008, 11h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo