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

Langage Java Discussion :

Substitution de chaine


Sujet :

Langage Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Par défaut Substitution de chaine
    Bonjour à tous !
    Je me suis récemment remis au Java après un long moment d'absence et je suis actuellement confronté à un problème.

    Je travaille sur une méthode de cryptage avec clé que j'avais initialement réalisé en PHP et j'aimerais savoir s'il y a une fonction qui permet de changer un caractère par un autre selon une table de correspondances (équivalent de la fonction strtr() en PHP)

    Pour le moment j'ai développé une méthode qui me semble un peu barbare

    tabcrypt contient les lignes de la table de Vigenère sous forme de String

    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
     
    public static String codage(String cle, String text,String[] tabcrypt){
    	String textdecode = "";
     
    	int j = 0;
     
    	for(int i=0;i<text.length();i++){
    		if(j>= cle.length()){
    			j = 0;
    		}
     
    		int x = tabcrypt[0].toUpperCase().indexOf(text.toUpperCase().charAt(i));
    		int y = tabcrypt[0].toUpperCase().indexOf(cle.toUpperCase().charAt(j));
    		if(x < 0){
    			textdecode += text.charAt(i);
    		}else{
    			textdecode += tabcrypt[x].charAt(y);
    		}
    		j++;
    	}
     
    	return textdecode;
    }
    Si quelqu'un a une idée je suis preneur

  2. #2
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2011
    Messages : 29
    Par défaut
    Je n'ai pas bien saisi ton problème.

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Par défaut
    J'aimerais de savoir s'il y a une méthode plus directe pour réaliser ça.

    Dans mon algorithme actuel par exemple les majuscules disparaissent
    Je cherche s'il existe une fonction qui marcherait de cette façon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for(int i=0;i<text.length();i++){
    	if(j>= cle.length()){
    		j = 0;
    	}
    
    	int y = tabcrypt[0].toUpperCase().indexOf(cle.toUpperCase().charAt(j));
    	textdecode += text.charAt[i].remplacer("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",tabcrypt[y]+tabcrypt[y].upper());
    }

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Le replaceEach de la classe StringUtils des commons lang d'apache devrait faire l'affaire:

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations forums :
    Inscription : Août 2011
    Messages : 3
    Par défaut
    Citation Envoyé par sinok Voir le message
    Le replaceEach de la classe StringUtils des commons lang d'apache devrait faire l'affaire:
    Merci à toi c'était pratiquement ça. J'ai utilisé la fonction replaceChars(String str, String searchChars, String replaceChars) de la même classe et ça marche parfaitement

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

Discussions similaires

  1. Substitution de chaines
    Par oliviernouhi dans le forum Langage
    Réponses: 2
    Dernier message: 10/07/2012, 17h14
  2. FOR /F, FINDSTR, variable temporaire, et substitution de chaine
    Par abdelhamidem dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 09/03/2009, 12h35
  3. [AWK] Substitution de chaine
    Par MarLOne dans le forum Linux
    Réponses: 9
    Dernier message: 18/07/2007, 13h40
  4. Substitution de chaine de caractères
    Par bdkiller dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 13/09/2005, 15h01
  5. [langage] substitution chaine
    Par sati dans le forum Langage
    Réponses: 4
    Dernier message: 11/12/2002, 11h01

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