Cryptage mot de passe mysql [Fermé]

Signaler
Messages postés
61
Date d'inscription
dimanche 31 mars 2013
Statut
Membre
Dernière intervention
23 février 2014
-
Messages postés
29981
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
22 juillet 2021
-
Bonjour,


Donc voila j'ai mis en place un serveur de messagerie postfix avec une interface web sur lesquelles les users peuvent creer leur messagerie.

Ces données sont directement transmises sur une base de données mysql via un script nommé ajout.php.

Je voudrai que lorsque les utilisateurs rentrent leurs password, celui ci deveinne crypté en entrant dans la base de données.

Savez vous comment faire?


-------------------------------------------------------------------------------------------------------------------
Fichier "ajout.php
-------------------------------------------------------------------------------------------------------------------

<?php
try
{
$bdd=new PDO('mysql:host=localhost;dbname=postfix','root','azertyuiop');

// insertion

$req=$bdd->prepare('insert into comptes(email,password) values(?,?)');
$req->execute(array($_POST['email'],$_POST['password']));

$req=$bdd->prepare('insert into domaines(domaine) values(?)');
$req->execute(array($_POST['domaine']));

header('location:/roundcube');

}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>

<?php

<?php

exec('/usr/local/bin/essai.sh '.$_POST['email'].' '.$_POST['domaine']);

?>
A voir également:

4 réponses

Messages postés
29981
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
22 juillet 2021
7 138
Bah c'est normal que ça ne marche pas, comptes à deux colonnes et là tu insères un tuple qui ne transporte qu'une seule valeur (et il manque une parenthèse fermante).

$req = $bdd->prepare("INSERT INTO comptes(email, password) VALUES ('toto@titi.org', ENCRYPT_AES('titi', 'toto'))");


Bonne chance
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
61
Date d'inscription
dimanche 31 mars 2013
Statut
Membre
Dernière intervention
23 février 2014
1
Ah d'accord merci pour la réponse mais moi je ne vais pas savoir à l'avance ce que les utilisateurs mettront comme mot de passe et comme compte.
Ce qui veut dire que je ne peux pas attribuer les valeurs ('toto@titi.org' et 'titi', 'toto').

Dois-je les remplacer par des points d'interrogations comme j'ai fait avant?
Messages postés
29981
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
22 juillet 2021
7 138
Tu peux utiliser la fonction PASSWORD :
http://dev.mysql.com/doc/refman/5.0/fr/set-password.html

Bonne chance
Messages postés
61
Date d'inscription
dimanche 31 mars 2013
Statut
Membre
Dernière intervention
23 février 2014
1
Merci pour ta réponse.

Désolé j'ai oublié de préciser qu'il fallait que j'utilise la fonction encrypt pour le password.

Mais je ne sais pas comment faire pour l'attribuer a la variable.Dans le fichier ajout.php j'ai essayer de faire comme ceci:

$req=$bdd->prepare('insert into comptes(email,password) values (ENCRYPT_AES(?,?)'); mais quand je compile ca me zape carrément le champ email et password.
Messages postés
29981
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
22 juillet 2021
7 138
Ben non regarde la documentation d'ENCRYPT_AES et tu verras. Il y a la chaîne que tu veux chiffrer et la clé que tu utilises pour faire le chiffrement.
https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html#function_aes-encrypt

Bonne chance