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

Java Discussion :

Cryptage des données


Sujet :

Java

  1. #1
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9
    Par défaut Cryptage des données
    bonsoir, j'ai un code source qu'il crypte les données introduites par l'utilisateur dans une boîte de dialogue d'entrée. Les données sont sous forme d'entiers de 4 chiffres. Algorithme de cryptage : remplacer chaque chiffre par (la somme de ce chiffre et de 7) modulo 10; ensuite il faut permuter le premier chiffre et le troisième ainsi que le deuxième et le quatrième. Affichez le résultat dans une boîte de dialogue.
    c'est mon code source mais il ne marche pas est ce qu'il ya quelqu'un peut me dire ou se trouve l'erreur et merci
    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
     
    package exercice3;
    import java.util.*;
    public class texte extends entité implements cryptable, inversible {
    	private String value;
    	public texte(int id, String value)
    	{
    	Super(id);
    	this.value=value;
    	}
    	public String toString()
    	{ return super.toString()+"texte="+ value; }
    	public void inverser(){
    	StringBuffer chb=new StringBuffer(value);
    	value=new String(chb.reverse());
    	}
    	public void crypter()
    	{
    	String ch="";
    	for(int i=0;i<value.length();i++){
    	if (value.charAt(i)=='z' || value.charAt(i)=='z')
    	{ ch+=(char) value.charAt(i)-25;}
    	else
    	{ch+=(char)value.charAt(i)+1;
    	value=ch;}
    	}
    	}
    }

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Par défaut
    Le but de ce forum n'est pas de faire ton travail à ta place.

    Si tu veux qu'on t'aide, dis nous plus précisément ou est le problème, qu'est ce qui ne marche pas, etc...

    Tu peux aussi mettre des traces dans ton programme pour mieux comprendre ce qu'il fait, et les mettre ici.

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 766
    Par défaut
    Bonjour,

    Etant donné qu'on ne connait ni entité, ni les interfaces que tu implémentes, ça va pas être simple. Pourtant la spécification à l'air simple, pourquoi tu t'es compliqué la vie a ce point.
    D'autant plus que c'est un algo de chiffrement par monosubstitution : tu prends un chiffre tu lui fais une opération et tu le remplaces par le résultat.

    Simplifie déjà ton code.

    Bon courage,

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Ton algorithme ne fait absolument pas ce que tu veux, il se contente de décaler vaguement d'une lettre dans l'alphabet après avoir inversé la chaine.

  5. #5
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    bonsoir, j'ai un code source qu'il crypte les données introduites par l'utilisateur dans une boîte de dialogue d'entrée. Les données sont sous forme d'entiers de 4 chiffres. Algorithme de cryptage : remplacer chaque chiffre par (la somme de ce chiffre et de 7) modulo 10; ensuite il faut permuter le premier chiffre et le troisième ainsi que le deuxième et le quatrième. Affichez le résultat dans une boîte de dialogue.
    On structure les informations en informatique !
    1.Les données sont sous forme d'entiers de 4 chiffres.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public int crypt(int value){
         if(Integer.toString(value).length()>4){
              throw new IllegalArgumentException('Nombre non supporté car supérieur à 4 caractères');
    }
    }
    2. Algorithme de cryptage : remplacer chaque chiffre par (la somme de ce chiffre et de 7) modulo 10;
    -> Sous opération 1 : Sélectionner chaque chiffre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int value;
    int chiffre1, chiffre2 ,chiffre3 ,chiffre4;
    chiffre1 = value/1000;
    int reste1= (value-chiffre1*1000);
    chiffre2 = reste1/100;
    int reste2= (reste1-chiffre2*100);
    chiffre3 = reste2/10;
    int reste3= (reste2-chiffre3*10);
    chiffre4 =reste3;
    -> Sous opération 2 : faire le calcul
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int chiffreX;
    chiffreX = (chiffreX + 7) % 10;
    -> Sous opération 3 : faire la concaténation
    ...
    3. il faut permuter le premier chiffre et le troisième ainsi que le deuxième et le quatrième.
    -> Modifier la place du chiffre 1 et du chiffre 3.
    ...
    4. Affichez le résultat dans une boîte de dialogue.
    -> Hors sujet pour le cryptage.
    ...

    Je passe les détails d'implémentation.

    Cordialement,
    Patrick kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

Discussions similaires

  1. [Sécurité] Cryptage des données envoyées par le réseau
    Par DeusXL dans le forum Développement
    Réponses: 6
    Dernier message: 05/03/2007, 04h29
  2. [Crypt]Fonction simple de cryptage des données
    Par Agoye dans le forum Sécurité
    Réponses: 5
    Dernier message: 30/08/2006, 19h35
  3. Cryptage des données
    Par DMboup dans le forum Contribuez
    Réponses: 1
    Dernier message: 07/06/2006, 19h37
  4. Cryptage des données en natif
    Par claude dans le forum Oracle
    Réponses: 7
    Dernier message: 03/04/2006, 14h15
  5. Quiz : testez vos connaissances sur le cryptage des données
    Par SheikYerbouti dans le forum Oracle
    Réponses: 0
    Dernier message: 08/10/2004, 10h06

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