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 :

crypter par décalage d'élément de tableau [Débutant]


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2011
    Messages : 113
    Points : 44
    Points
    44
    Par défaut crypter par décalage d'élément de tableau
    Bonjour,
    J'aimerais faire une fonction permettant de "crypter" un texte en décalant les lettres dans un tableau, exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    string result = null;
    public static string Encrypt(string ToEncrypt)
            {
                for (int x = 0; x < ToEncrypt.Length; x++)
                {
                    result += ToEncrypt.Replace(ToEncrypt[x], hash[x]);
                }
                return result;
            }
    ToEncrypt = "test"
    J'obtiens l'erreur : L'index se trouve en dehors des limites du tableau.

    Merci pour toute aide,
    T4unt.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Points : 502
    Points
    502
    Par défaut
    Bien sûr! Quand ton code arrive à la fin du tableau, le décalage fait en sorte qu'il sorte de la plage.

    Il faudrait détecter ce dépassement et retourner au début du tableau.

  3. #3
    Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2011
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2011
    Messages : 113
    Points : 44
    Points
    44
    Par défaut
    J'ai trouvé réponse à mon problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public static string Encrypt(string toEncrypt, int key)
            {
                char[] hash = new char[] 
                {'a','b','c','d','e','f','g','h','i','j','k','l','m',
                'n','o','p','q','r','s','t','u','v','w','x','y','z'};
                string result = string.Empty;
                for (int x = 0; x < toEncrypt.Length; x++)
                {
                    int index = System.Array.IndexOf(hash, toEncrypt[x]);
                    index = (index + key) % hash.Length;
                    result += hash[index];
                }
                return result;
            }
    et le decrypt :

    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 static string Decrypt(string toDecrypt, int key)
            {
                char[] hash = new char[] 
                {'a','b','c','d','e','f','g','h','i','j','k','l','m',
                'n','o','p','q','r','s','t','u','v','w','x','y','z'};
                string result = string.Empty;
                for (int x = 0; x < toDecrypt.Length; x++)
                {
                    int index = System.Array.IndexOf(hash, toDecrypt[x]);
                    index = (index - key);
                    if (index < 0)
                        index += hash.Length;
                    result += hash[index];
                }
                return result;
            }

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/03/2015, 18h31
  2. [Debutant] Jsoup, remplir tableau ligne par ligne avec élément
    Par laplumedoie dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 03/07/2014, 15h47
  3. [Windows Phone 8] Comment modifier le style d'un élément de tableau obtenu par Binding ?
    Par gfaye dans le forum Windows Phone
    Réponses: 1
    Dernier message: 13/02/2014, 16h39
  4. Réponses: 3
    Dernier message: 09/10/2007, 10h50

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