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 :

Stockage, modification et récupération de donnée en c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Par défaut Stockage, modification et récupération de donnée en c#
    Bonjour,

    Je suis débutant en c#. Je souhaite réaliser un programme dans lequel je crée des comptes utilisateurs pour les réutiliser une autre fois à l'intérieur de l'application quand nécessaire, ainsi qu'il faut prendre en compte la possibilité de modifier ces données.

    Alors, mes questions:
    -Comment stocker ces données (D'une manière sécurisée) ?
    -Comment récupérer ces données?

    Merci!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut
    1) quel methode de sotckage?
    - stockage interne => necessite la recompilation du logiciel a chaque modification

    - stockage externe => tu choisis un format standard qui seras compris pas ton programme

    le plus evolutif reste l'externalisation


    2) securiser tes donnees
    utilisable sur un fichier externe

    le plus simple reste la serialisation binaire
    il ni a pas de cryptage a proprement dit mais le fichier obtenu n'est pas lisible pas un humain

    après il faut savoir qu'après y avoir reflechi il est plutot dur de vraiment securiser des donnes avec uniquement du C# car tout assembly (.dll, .exe....) est decompilable via Reflector par exemple

    ainsi le pirate souhaite decoder tes fichiers pourras connaitre la methode de cryptage utiliser(DES, AES, tripleDES....) après internet fait le reste....

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 507
    Par défaut
    comptes utilisateurs
    Comptes utilisateurs Windows ou des comptes utilisateurs applicatifs ?
    TheBlackReverand ne dit pas que des choses justes.
    Il est tout à fais possible de protéger des données en .NET, même mieux quand code natif, il faut juste prendre les bon outils et avoir fait une bonne étude de vulnérabilité.

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Il est tout à fais possible de protéger des données en .NET, même mieux quand code natif, il faut juste prendre les bon outils et avoir fait une bonne étude de vulnérabilité.

    alors là je veux bien savoir comment tu penses qu'on peut protéger quelque chose en .net ...
    (à ma connaissance il y a un moyen, mais c'est hors de prix il me semble)

    l'obfuscation par exemple, ca peut ralentir légèrement, mais c'est tout ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 507
    Par défaut
    Ofuscation du code qui donne un code aussi difficile que du code natif ofusqué.
    De plus, pour les données sensibles, il y a la cryptoAPI.

    Pol63, pouvez-vous me données un exemple de code dont la sécurité est mise en cause par le runtime .NET.

    Je précise que, pour moi, lire de l'assembleur résultant de la décompilation du code natif est aussi simple que de lire du code C# sortant de Reflector.

    Si les solutions d’ofuscation .NET vous semblent hors de prix (il y en a des gratuite en version bridée), en code natif, c’est au moins aussi cher.

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    par exemple, pour un programme devant se connecter à une base de données sans login utilisateur
    il faut stocker le mot de passe de la base quelque part

    si le mot de passe est stocké dans le programme directement, avec reflector on le retrouve

    si on obfusque, on recréé le projet, certes les noms sont illisibles, mais en mode à pas à pas on fini par retrouver où se fait la connexion, et donc on retrouve le mot de passe

    si on met le mot de passe dans un fichier crypté, le code pour décrypter le fichier est obligatoirement dans le programme .net ; voir précédemment, on peut donc obtenir le code de décryptage

    quand on installe un exe .net, le code MSIL est forcément présent, meme en passant par ngen.exe
    A ma connaissance on ne peut pas obtenir un exe en code natif à partir de l'exe .net pour le déployer, et en plus avec ca on perdrait les optimisatoins liées à la machine faites par le JIT.

    j'ai entendu parler d'une solution payante, le programme .net est mis sur un dongle crypté lancé par un exe non .net

    lire de l'assembleur étant plutot élitiste, je pense qu'on peut se baser sur le fait que pas grand monde ira sur cette voie (ou alors faut avoir un soft qui intéresse du monde)

    si vous avez des solutions répondant au cas que j'expose, je suis tout ouï

    question subsidiaire, savez vous si on peut s'accocher à un programme .net pendant qu'il s'exécute pour faire de la reflection dessus ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/03/2014, 11h44
  2. Réponses: 2
    Dernier message: 02/10/2009, 16h54
  3. Réponses: 3
    Dernier message: 06/05/2009, 14h20
  4. Réponses: 2
    Dernier message: 08/09/2007, 16h41
  5. Récupération de données dans une popup de modification
    Par Sandara dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/06/2006, 16h03

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