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 :

C# Rijndael encryption


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Par défaut C# Rijndael encryption
    Salut à tous,

    Je suis actuellement en train de me développer un petit outil qui me permettra de chiffrer mes fichiers rapidement. Pour ce faire, j'ai utilisé ce script qui semble parfaitement faire le taf. Le seul petit bémol, c'est que je voudrais pouvoir allonger la longueur de la clé de chiffrement qui est un peu courte à mon gout.

    Actuellement, la longueur maximum supportée est de 32 bits (8 caractères), sachant que - d'après la doc officielle -RijndaelManaged supporte des clés jusqu'à 256 bits (64 caractères). Or dès que je lance le script avec une clé de plus de 8 caractères, le try/catch me renvoie systématiquement "Encryption failed !". J'ai fait quelques recherches sur google, mais impossible de trouver d'où ça vient...

    Malheureusement, j'ai du mal à cibler d'où vient le problème. J'ai essayé de redéfinir le padding comme indiqué :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RMCrypto.Padding = PaddingMode.ISO10126;
     
    // ou
    RMCrypto.Padding = PaddingMode.ANSIX923;
    Mais cela ne change rien. J'imagine qu'il y a un endroit ou je dois ajouter un argument mais je ne vois pas où.

    Merci d'avance pour vos réponses !

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    256 bits = 64 caractères ?
    32 bits = 8 caractères ?
    4 bits = 1 caractères ?
    A confirmer avant d'aller plus loin
    https://www.google.fr/#q=octets+bits

    Clé secrète à utiliser pour l'algorithme symétrique. La taille de la clé doit être de 128, 192 ou 256 bits.
    La taille de la IV propriété doit être le même que le BlockSize propriété divisé par 8
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
                try
                {
                    string password = @"myKey123myKey123"; // Your Key Here
                    UnicodeEncoding UE = new UnicodeEncoding();
                    byte[] key = UE.GetBytes(password);
     
                    string cryptFile = outputFile;
                    FileStream fsCrypt = new FileStream(cryptFile, FileMode.Create);
     
                    RijndaelManaged RMCrypto = new RijndaelManaged();
                    RMCrypto.GenerateIV();
     
                    CryptoStream cs = new CryptoStream(fsCrypt,
                        RMCrypto.CreateEncryptor(key, RMCrypto.IV),
                        CryptoStreamMode.Write);
     
                    FileStream fsIn = new FileStream(inputFile, FileMode.Open);
     
                    int data;
                    while ((data = fsIn.ReadByte()) != -1)
                        cs.WriteByte((byte)data);
     
     
                    fsIn.Close();
                    cs.Close();
                    fsCrypt.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Encryption failed!", "Error");
                }

Discussions similaires

  1. [ZIP/AES] Créer un zip encrypté
    Par denisC dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 05/06/2009, 15h54
  2. Réponses: 4
    Dernier message: 06/09/2005, 21h41
  3. Réponses: 2
    Dernier message: 28/07/2005, 15h23
  4. Crash de mon dvd encrypté avec xine
    Par Slein dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 06/06/2004, 16h45
  5. cherche algos encryption en RSA et ELGAMAL
    Par Vermin dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 04/11/2002, 08h58

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