Mettre un utilisateur et un mots de passe

Fermé
Dark_another Messages postés 366 Date d'inscription mardi 28 juin 2016 Statut Membre Dernière intervention 18 mars 2018 - 11 juil. 2016 à 22:18
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 19 juil. 2016 à 17:08
Bonjour,
comme écrit dans le titre je voudrait mettre dans mon programme un "code" pour pouvoir accéder au réglage en passant par un mots de passe et un utilisateur tout cela inclus dans le programme mais je ne sais pas comment faire ! j'aurais besoin d'un peu d'aide s'il vous plaît

merci d'avance

cordialement,
Dark_another

2 réponses

pierre.lagoutte
19 juil. 2016 à 10:43
Bonjour,

#include <iostream>
#include <String>

using namespace std;

int main()
{
    cout << "Pour acceder aux options, veuillez vous identifier" << endl;
    cout << "Identifiant : ";
    String identifiant = "";
    cin >> identifiant;
    cout << "Mot de passe : ";
    String mdp = "";
    cin >> mdp;

    if (identifiant == "admin" AND mdp == "admin")
    {
         // OK
    }

    else
    {
        // Non
    }
}


A vous d'adapter en fonction de vos besoins et vos connaissances, avec une base de données contenant les nom d'utilisateur et les mots de passe par exemple.

Cordialement
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
19 juil. 2016 à 10:48
Ce n'est pas String mais string en C++.
0
pierre.lagoutte
19 juil. 2016 à 10:51
Bonjour,

Conventionnellement, toutes les classes sont écrites avec une lettre majuscules.
Néanmoins, Linux considère que String est en fait string, mais je pars du principe que ce code sera compilé sous Windows.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835 > pierre.lagoutte
19 juil. 2016 à 11:01
La convention dont tu parles, c'est lorsque l'utilisateur créée une classe ! Ici, la classe existe déjà. Donc si tu respectes pas la casse, cela risque de ne pas fonctionner. En tout cas, ce ne sera pas portable !

La classe est (std::string) définie et elle est définie dans l'en-tête standard (string).
Autrement dit, c'est string (et non String). Et cela fonctionnera sur n'importe quel OS (Windows, GNU/Linux, etc.)
0
pierre.lagoutte > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
19 juil. 2016 à 11:28
Effectivement, c'est vrai :)
Après, ça fait 6 ans que je code comme ça, ce n'est peut-être pas correct mais bon j'ai pris l'hébitude quoi :p
0
Dark_another Messages postés 366 Date d'inscription mardi 28 juin 2016 Statut Membre Dernière intervention 18 mars 2018 5 > pierre.lagoutte
19 juil. 2016 à 11:55
merci de votre réponse je compte l'essayer !
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
19 juil. 2016 à 10:50
Bonjour,

Quel niveau de sécurité souhaites-tu ? Car mettre le mot de passe dans le programme n'est pas une bonne idée. Une simple lecture du binaire et l'attaquant retrouvera le mot de passe.

Cdlt,
0
Dark_another Messages postés 366 Date d'inscription mardi 28 juin 2016 Statut Membre Dernière intervention 18 mars 2018 5
19 juil. 2016 à 11:54
évidement mais bon de façons simple ! pour l'instant je ne compte pas de le mettre en ligne ni de le donner! en plus j'ai pu avoir la solutions pour le simple : les conditions ! après pour du complexe je ne connais pas !
0
pierre.lagoutte > Dark_another Messages postés 366 Date d'inscription mardi 28 juin 2016 Statut Membre Dernière intervention 18 mars 2018
Modifié par pierre.lagoutte le 19/07/2016 à 12:06
Le plus sécuritaire à mon avis est d'enregistrer les noms d'utilisateur et les mdp (hashés en SHA) dans une BDD.
0
Dark_another Messages postés 366 Date d'inscription mardi 28 juin 2016 Statut Membre Dernière intervention 18 mars 2018 5 > pierre.lagoutte
19 juil. 2016 à 12:18
C'est à dire ?
0
pierre.lagoutte
19 juil. 2016 à 12:40
Une base de données contient des tableaux. Imaginons que tu crées un tableau (une table) dans cette base, contenant 2 colone : Utilisateur et MDP.
Utilisateur | MDP
admin admin
jacqueline titou78
Fabien azerty
Justin 1234
Fabienne 7954

Lorsqu'un utilisateur tape un nom d'utilisateur, tu vérifies dan ton tableau si le mot de passe associé est correct.
Le problème avec ce système est que si un pirate trouve ta BDD, il aura tous les mots de passe et utilisateur. Le hash s'impose donc. Le hash c'est une manière irréversible de transformer une chaîne de caractère en une autre. Par exemple le hash (en SHA-1) de "bonjour" est "1f71e0f4ac9b47cd93bf269e4017abaab9d3bd63". L'idée est d'enregistrer tous les mots de passe sous cette forme dan le tableau, et de hasher le mot de passe que l'utilisateur entre dans ton programme et de comparer les deux.
0
Dark_another Messages postés 366 Date d'inscription mardi 28 juin 2016 Statut Membre Dernière intervention 18 mars 2018 5 > pierre.lagoutte
19 juil. 2016 à 12:46
ha d'accord
0