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

C# Discussion :

Quels méthodes utilisées pour enregistrer mot de passe et nom d'utilisateur


Sujet :

C#

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Quels méthodes utilisées pour enregistrer mot de passe et nom d'utilisateur
    Bonjour,

    Je suis en train de développez une application sous VS2010 en C#,
    et j'aimerais sauvegarder dans un fichier une liste de nom d'utilisateurs
    ainsi que leur mot de passe correspondant.

    Mais je ne sait pas quoi utilisé comme méthode. (XML, fichier texte) ?
    Où alors quels sont les méthodes les plus utilisées dans ce cas là ?

    Merci d'avance.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    en général ca se met avec le reste des données, donc bien souvent dans une base de données
    après il faut crypter légèrement le mot de passe ^^ (avec une clé de hashage type sha256, enfin y a quelques méthodes dans le framework dans system.security.cryptography)
    donc le crypter dans la base, et au moment de la saisie, crypter la saisie pour la comparer avec le mot de passe crypté
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    en général ca se met avec le reste des données, donc bien souvent dans une base de données
    après il faut crypter légèrement le mot de passe ^^ (avec une clé de hashage type sha256, enfin y a quelques méthodes dans le framework dans system.security.cryptography)
    donc le crypter dans la base, et au moment de la saisie, crypter la saisie pour la comparer avec le mot de passe crypté
    Merci de ta réponse,
    je ne cherche pas a utilisé de base de données,
    mais de mettre ces informations soit localiser en local (par exemple dans un fichiers).
    Après si on peut crypter ces données c'est encore mieux

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    crypter dans un fichier c'est faisable aussi

    system.io.file.readalltext
    system.io.file.writealltext

    je te dirais bien de travailler avec des collections et du split
    mais le rendu d'un cryptage et du split je sais pas trop si ca va ensemble^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    crypter dans un fichier c'est faisable aussi

    system.io.file.readalltext
    system.io.file.writealltext

    je te dirais bien de travailler avec des collections et du split
    mais le rendu d'un cryptage et du split je sais pas trop si ca va ensemble^^
    c'est quoi des collections et du split ?

    ce que tu m'a filer permet juste d'écrire dans un texte ?
    mais comment le crypter ?

  6. #6
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    L'idée est de stocké un hash du password avec ça par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    byte[] data = System.Text.Encoding.UTF8.GetBytes(password);
    byte[] hashed = new SHA1CryptoServiceProvider().ComputeHash(data );
    et de comparer les hash.
    En suite pour le stockage, utilise du xml, une méthode simple est de créer des objet MonUser avec le loggin et le hash et de serializer en xml.

  7. #7
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Petite précision pour tous les visiteurs.

    On ne stocke jamais un mot de passe, même crypté.

    On ne stocke que une signature (hash) obtenue par un algorithme dit destructif, comme par exemple SHA (256bits minimum)

    La différence ?
    La signature est une représentation réputée unique d'une donnée (ici un mdp) mais cette signature ne contient pas la donnée initiale, cette donnée ayant été détruite au fil des calculs effectués par l'algorithme. Il n'est ainsi pas possible de remonter à la donnée (et donc retrouver le mdp) depuis la signature puisque cette donnée n'existe pas dans la signature.

    La conséquence :
    On ne compare pas un mot de passe saisi avec un mot de passe sauvegardé, mais on compare la signature du mot de passe à la signature sauvegardée. Si les deux signatures sont identiques, la signature étant réputée unique, on suppose que le mot de passe saisi était identique au mot de passe initial.

    Les collisions :
    Les collisions sont des données initiales différentes qui aboutissent à une signature identique. De nombreux algorithmes connus possèdent des collisions (MD5, SHA8, SHA16, ...).

    A l'heure actuelle SHA256 est recommandé, car même si il est supposé qu'il possède probablement lui-aussi des collisions (comme certainement tous les algorithmes), aucune n'a encore été trouvée et aucune méthode permettant d'en trouver n'existe encore, à priori.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  8. #8
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    Oui c'est vrai et c'est ce que je disais mais la Loi LCEN demande à ce que le mot de passe soit conservés donc j'en déduit qu'ils sont gardés en clair ou cryptés mais pas jsute le hash. Ok c'est pour le cas pour... tous les site internet genre developpez.net...
    Pour info, j'ai déjà vu dans un BBD un table client (pour de la vente sur internet) avec les password en clair et l'adresse mail à côté... enfin moi j'ai entendu la même avec les n° de carte bleu et le crypto avec et la date aussi... la fête... et tout ça c'était du lourd des gros d'internet...

  9. #9
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Oui, il y a une loi aussi qui dit que l'on peut être coupable de ne pas avoir été capable de sécuriser sa ligne à 150% alors que c'est techniquement impossible. Loi pondue d'ailleurs par la même équipe.

    Cette même équipe qui veux accentuer encore plus l'installation de vidéosurveillance pour pouvoir mieux nous espionner, qui veux nous faire installer des mouchards sur les PC pour pouvoir mieux nous espionner, qui nous met en avant le parefeu OpenOffice, etc .....
    Cette équipe qui veut, petit à petit, prendre le contrôle total de nos vies, continuer à s'en mettre plein les poches en prenant de plus en plus aux petits, mais surtout pas aux gros.
    Etc, Etc, .... Je pourrais continuer comme ça, longtemps.
    Et non, je ne parle pas de la chine ou d'un quelconque pays d’Afrique du Nord, qui, si ça continu, n'arriveront même plus à la cheville de cette fameuse équipe.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  10. #10
    Membre actif
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2006
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2006
    Messages : 245
    Points : 232
    Points
    232
    Par défaut
    Sans vouloir faire trop de politique, même si j'adore cela, et que je suis en totale communion avec toi, Sevyc64, je ferai remarquer que, dans le décret, il est écrit (Chapitre 1, Article 1, point 3 g) qu'il faut conserver
    Le mot de passe ainsi que les données permettant de le vérifier ou de le modifier, dans leur dernière version mise à jour.
    Néanmoins, il est aussi indiqué, quelques lignes plus loin :
    Les données mentionnées aux 3° et 4° ne doivent être conservées que dans la mesure où les personnes les collectent habituellement.
    J'y comprend, sans avoir jamais fait de droit, que si, avant, ces données étaient détruites pour ne comparer que les signatures, il n'y a pas besoin de commencer à les garder.
    Donc : on peut continuer à faire comme avant dans notre petit coin, mais l'équipe du pare-feu OpenOffice anti-Afrique du Nord nous tuera petit à petit...
    Les gens croient qu'il est agréable d'être un super-génie, mais s'ils savaient à quel point il est difficile d'être entouré de super-crétins !
    Calvin dans Calvin et Hobbes (Bill Watterson)

  11. #11
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    OK mais quid d'une nouvelle application, doit-on avoir de bonne pratique de sécurité informatique ou en dérogé pour complaire aux directive de la sécurité intérieur de ce grand pays de liberté ?!

  12. #12
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Pour moi, la réponse est claire, c'est la bonne pratique qui prime.

    D'autant plus que, je ne sais pas si tous les décrets d'applications de cette loi citée ont été publiés. Je ne sais pas non plus (et c'est probablement le cas) si elle ne rentre pas en conflit avec d'autres textes.

    Pour moi, au delà de la loi, il est clair qu'il faut avant tout protéger les données personnelles contre un accès et une utilisation frauduleuse fusse-t-elle peut-être actuellement autorisée par une loi (qui peut-être demain n'existera plus).
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

Discussions similaires

  1. [Debutant(e)]Quel composant utiliser pour faire une grille
    Par elitost dans le forum Composants
    Réponses: 7
    Dernier message: 21/06/2004, 20h44
  2. méthode à utiliser pour annuaire
    Par psyco2604 dans le forum ASP
    Réponses: 2
    Dernier message: 01/06/2004, 15h46
  3. Réponses: 3
    Dernier message: 27/08/2003, 21h14
  4. Réponses: 2
    Dernier message: 11/07/2002, 08h31

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