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

 .NET Discussion :

C# crypto [Débutant(e)]


Sujet :

.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Points : 37
    Points
    37
    Par défaut C# crypto
    Bonjour,

    J'ai une classe crypto qui herite de la classe abstraite Stream

    je redefinie donc le comportement de l'ensemble des methodes de cette classe

    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
     
     public class KrabouilleStream : Stream
        {
      public override int Read(byte[] buffer, int offset, int count)
            {
                Decrypt(buffer, offset, count);
     
                return 1;
            }
     
      public override void Write(byte[] buffer, int offset, int count)
            {
                Encrypt(buffer, offset, count);
            }
     
    }
    j'ai aussi deux methodes qui permettent d'encrypter et encrypter un fichier

    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
     
    public void Encrypt(byte[] data, int offset, int count)
      {
                for (int i = 0; i < data.Length; i++)
                {
                    data[i] = (byte)(data[i] ^ 1);
                }
                _inner.Write(data, offset, count);
            }
     
            public void Decrypt(byte[] data, int offset, int count)
            {
                for (int i = 0; i < data.Length; i++)
                {
                    data[i] = (byte)(1 ^ data[i]);
                }
                _inner.Read(data, offset, count);
            }
    _inner etant de type FileStream.

    L'encryptage fonctionne cependant je n'arrive pas a decrypter et à retrouver le contenu de mon fichier de depart.
    je m'y prend surement mal. Si vous avez une idee merci d'avance

  2. #2
    Membre actif
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Points : 260
    Points
    260
    Par défaut
    Bonsoir,

    A tout hasard, si tu lisais tes données de ton flux avant de les décrypter ?

    Pour le moment, tu fais le contraire ! Tu décryptes ton tableau de byte, et ensuite seulement tu lis ton flux (du coup, les données ne sont pas décryptées...)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 41
    Points : 37
    Points
    37
    Par défaut
    Alors justement avant cette version j'avais lu mes données avant. Mais c'est le meme probleme

  4. #4
    Membre actif
    Homme Profil pro
    Chef de Projet
    Inscrit en
    Décembre 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de Projet
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2012
    Messages : 113
    Points : 260
    Points
    260
    Par défaut
    Autre suggestion alors : comment est défini ton tableau data ?

    Je dis cela car tu lis "count" octets, mais tu décryptes l'ensemble de ton tableau.

    Si tu appelles ta méthode plusieurs fois (par exemple, si tu fais la lecture dans une boucle), tu risques d'avoir des soucis de décryptage car ton tableau est décrypté plusieurs fois (et trop décrypté fini par crypté tes données).

    Je remplacerais ton for par i = offset et i < offset + count

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par ElTotor Voir le message
    A tout hasard, si tu lisais tes données de ton flux avant de les décrypter ?
    Effectivement

    Citation Envoyé par condor_ Voir le message
    Alors justement avant cette version j'avais lu mes données avant. Mais c'est le meme probleme
    Il y a un autre problème dans ton code : ta méthode Read renvoie toujours 1, ce qui n'a pas de sens ; elle est supposée renvoyer le nombre d'octets qui ont effectivement été lus (en l'occurrence, le résultat de l'appel à _inner.Read)

Discussions similaires

  1. [Crypto]Système de cryptographie
    Par duchere dans le forum Sécurité
    Réponses: 5
    Dernier message: 28/07/2005, 12h24
  2. RSA - Crypto
    Par chrdou dans le forum Sécurité
    Réponses: 4
    Dernier message: 11/04/2005, 14h09
  3. [Crypto]JCE no provider ?
    Par leiaconcept dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 01/04/2005, 04h45
  4. [Crypto] Bouncy Castle Provider
    Par mush_H dans le forum Sécurité
    Réponses: 3
    Dernier message: 09/01/2005, 10h38
  5. [Crypto] Besoin d'aide de cryptage en java
    Par djyb2003 dans le forum Sécurité
    Réponses: 3
    Dernier message: 08/03/2004, 18h13

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