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

ASP.NET Discussion :

Problème avec l'encryption/décryption [Débutant]


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut Problème avec l'encryption/décryption
    Salut !


    J'essaie d'encrypter un querystring avec la méthode rijndael. Mais il y a un os...

    Test : Lorsque j'exécute ces 2 lignes (une bête encryption suivie immédiatement d'une décryption), ça bugue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        String equery = QueryStringModule.Encrypt("ABC" );
        System.Diagnostics.Debug.WriteLine(QueryStringModule.Decrypt(equery));
    Voilà le message d'erreur :

    System.FormatException : 'L'entrée n'est pas une chaîne Base 64 valide, car elle contient un caractère non-Base 64, plus de deux caractères de remplissage ou un caractère non conforme parmi les caractères de remplissage. '
    Et voici la fonction de décryption (c'est à la ligne 4 que ça coince) :

    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 static string Decrypt(string inputText)
          {
            RijndaelManaged rijndaelCipher = new RijndaelManaged();
            byte[] encryptedData = Convert.FromBase64String(inputText);
            PasswordDeriveBytes secretKey = new PasswordDeriveBytes(ENCRYPTION_KEY, SALT);
            using (ICryptoTransform decryptor = rijndaelCipher.CreateDecryptor(secretKey.GetBytes(32), secretKey.GetBytes(16)))
            {
              using (MemoryStream memoryStream = new MemoryStream(encryptedData))
              {
                using (CryptoStream cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read))
                {
                  byte[] plainText = new byte[encryptedData.Length];
                  int decryptedCount = cryptoStream.Read(plainText, 0, plainText.Length);
                  return Encoding.Unicode.GetString(plainText, 0, decryptedCount);
                }
              }
            }
          }

    Si vous voyez pourquoi ça bugue, je suis toute ouïe !

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Montre nous un exemple de contenu crypte.

    Est-ce qu'il se termine par "==" ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    Merci pour ton intérêt mais j'avais résolu le truc entre temps...

    C'est moi qui m'y étais pris comme une buse

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 460
    Points : 112
    Points
    112
    Par défaut
    J'ai un autre petit souci...

    J'ai une page web dans laquelle il y a un formulaire avec 3 champs à remplir. Je voudrais que si l'encodage n'est pas valable, un message (un Label avec la propriété visible sur true) apparaisse pendant 3 secondes avant qu'une autre page web soit chargée...

    Actuellement, ça donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        protected void Button2_Click(object sender, EventArgs e)
                {
                    Double i = 0;
                    bool canConvert = Double.TryParse(TextBox3.Text, out i);
                    if (TextBox1.Text == "" || TextBox2.Text == "" || canConvert == false || i > 28 || i < 1)
                    {
                        Label7.Visible = true;
                        Response.Redirect("Webform2.aspx?Intitule=" + dplintitule + "&Id=" + dplid.ToString());
                    }
                    else
                    {
                       ...
                    }
                }
    Alors, mon problème, c'est que la page suivante est chargée mais le message n'apparaît pas.
    Sur un autre forum, on m'a déconseillé d'employer Thread.sleep(); mais de toute manière, le problème restait aussi.

    Que faire ? Quoique je mette comme code, la page est chargée et tout le reste passe à la trappe !

    Merci !


    EDIT : Résolu !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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