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 :

cryptage phpMyAdmin


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 cryptage phpMyAdmin
    Bonjour, donc voici mon probleme, j'ai une fonction qui me permet de crypter le mot de passe dans une page d'ajout d'utilisateur, puis dans la page de connexion j'ai le decryptage pour comparer les deux mot de passe (page bloque par HTACCES), malheureusement PhpMyAdmin ne comprend pas les caractère du crypt il me met n'importe quoi et il est donc impossbile de comparé les deux mot de passe

    Si vous avez une solution 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
     
    <?php
    include('header.html');
    include('../trombi/accesBD.Script.php');
    $BD = new accesBD;
    $bdd = $BD->connexionMysqliUti();
    $username = $password = "";
    $username_err = $password_err = "";
    $encryption_key = strval(fopen("../GestionUtilisateur/CLEMDP.txt","r"));
     
    function decrypt($encrypted_string, $encryption_key) {
        $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
        $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
        $decrypted_string = mcrypt_decrypt(MCRYPT_BLOWFISH, $encryption_key, $encrypted_string, MCRYPT_MODE_ECB, $iv);
        return $decrypted_string;
    }
     
    function encrypt($pure_string, $encryption_key) {
        $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
        $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
        $encrypted_string = mcrypt_encrypt(MCRYPT_BLOWFISH, $encryption_key, utf8_encode($pure_string), MCRYPT_MODE_ECB, $iv);
        return $encrypted_string;
    }
     
    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)){
                          $fin = decrypt($hashed_password, $encryption_key);
                          echo $hashed_password."<br>";
                          echo $fin."<br>";
                            if($password == $fin){
    // Check password par rraport au username
                                session_start();
                                $_SESSION['username'] = $username;
                                $_SESSION['connexion'] = 1;
                                //header("location: PageAccueil.php");
     
                            } else{
     
                                $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);
    }
    ?>
    Nom : 2018-06-21_14-26-14.png
Affichages : 1408
Taille : 69,7 Ko

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Bonjour,

    plusieurs choses :

    - Pourquoi chiffrer les mots de passe plutôt que les hasher ? On préfère généralement les hasher , évitant ainsi toute possibilité de récupération du mot de passe original.

    Dans le cas ou le chiffrage serait un impératif :
    - mcrypt est déprécié depuis PHP 7.1 et donc est voué à disparaître. Il faut le remplacer par libsodium
    - Tu n'utilises pas le même vecteur d'initialisation pour chiffrer et déchiffrer , ça ne peut pas marcher.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    A lire sur le stockage des mots de passe : Mots de passe sécurisés avec PHP
    Sachant que si tu ne veux pas utiliser les fonctions natives de PHP, la librairie libsodium cité par grunk propose aussi des fonctions sodium_crypto_pwhash_str et sodium_crypto_pwhash_str_verify.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2017
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2017
    Messages : 508
    Par défaut
    Bonjour, je pense que tu te complique la tâche pour le cryptage du mot de passe. Je te propose la fonction de haschage qui utilise le meilleur algorithme de cryptage des chaines de caractères(du moins pour le moment). Une fois le mot de passe inséré, il sera crypté.
    Quand un utilisateur se connectera, il va saisir son mot de passe. PhpMyadmin s'occupera lui même de comparer le mot de saisi et le mot de passe crypté.
    Je te propose le code suivant pour le champ mot de passe :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            $password = $_HASH['password'];


    Cordialement !!!

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    @Mannequin : je ne suis pas sûre de comprendre ton exemple de code (et je pense que tu voulais plutôt écrire $_HASH parce que hasch c'est pas tout à fait la même chose )
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2017
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2017
    Messages : 508
    Par défaut
    Bonjour, oh lala. Excusez-moi. Erreur de frappe. C'est comme tu dis.

    Cordialement.

Discussions similaires

  1. probleme acces phpmyadmin
    Par eric0279 dans le forum Apache
    Réponses: 2
    Dernier message: 05/09/2006, 23h37
  2. Problème avec phpMyAdmin
    Par xtendance dans le forum Réseau
    Réponses: 14
    Dernier message: 23/08/2006, 10h07
  3. Probleme installation phpmyadmin.
    Par djalilk dans le forum Apache
    Réponses: 1
    Dernier message: 30/07/2006, 18h04
  4. Problème cryptage simple de fichier
    Par darthnexus dans le forum C++
    Réponses: 4
    Dernier message: 03/06/2006, 19h16
  5. [phpMyAdmin] Probleme avec phpMyAdmin
    Par mekdar dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 07/12/2005, 17h14

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