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 :

serailisation et byte[]


Sujet :

Langage Java

  1. #1
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut serailisation et byte[]
    Bonsoir,

    Je cherche à inscrire dans mon fichier 'serialisé' les données sous forme d'un tableau de byte[], or lorsque j'ouvre le fichier avec notepad ++ les donnees sont des en 'clair'...

    si l'utilisateur saisi : monPwd
    dans le fichier au lieu d'avoir la conversion byte[] de monPwd , on lit bien : monPwd au lieu de [@aç#édéd

    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
     
    Main
            UserCount uc = new UserCount();
            System.out.println("Entrez le password:");
            BufferedReader entreePw =  BufferedReader(new InputStreamReader(System.in));
            uc.setPw(entreePw.readLine().getBytes());
     
     
     try {
                FileOutputStream fichier = new FileOutputStream("c:/tmp/user.serial");
     
                ObjectOutputStream oos = new ObjectOutputStream(fichier);
                oos.writeObject(bc);
                oos.flush();
                oos.close();
     
    ______________________________________________
    class  UserCount 
      private byte[] userPw;
     
        public UserCount() {
        }
     
     public void setPw(final byte[] pw){userPw = pw;}
     
     public byte[] getPw(){return userPw;}
    Merci de votre aide
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    C'est à toi de crypter les informations.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    [@25a7E5

    est inutilisable, c'est juste l'adresse mémoire de l'objet, que tu obtiens quand tu fais byte[].toString. Si tu veux stocker le mot de passe, comme dit, à toi de le coder si tu veux le cacher.

  4. #4
    Membre chevronné
    Profil pro
    Développeur Java Indépendant
    Inscrit en
    Mai 2007
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java Indépendant

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 333
    Points : 2 061
    Points
    2 061
    Par défaut
    Bonjour,

    Tu peux utiliser ce code fais en s'inspirant d'ici :


    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Main
            UserCount uc = new UserCount();
            System.out.println("Entrez le password:");
            BufferedReader entreePw =  BufferedReader(new InputStreamReader(System.in));
            uc.setPw(hashThis(entreePw.readLine()));
     
     
     try {
                FileOutputStream fichier = new FileOutputStream("c:/tmp/user.serial");
     
                ObjectOutputStream oos = new ObjectOutputStream(fichier);
                oos.writeObject(bc);
                oos.flush();
                oos.close();
     
     
    public String hashThis(String pwdClair) throws NoSuchAlgorithmException {
            MessageDigest md = MessageDigest.getInstance("MD5");
     
            md.update(mdpClair.getBytes());
            byte[] md5 = md.digest();
            String mdpCrypte = "";
            for (int i=0; i< md5.length; i++) {
                mdpCrypte += md5[i];
    }
            return mdpCrypte;
     
        }
     
     
    ______________________________________________
    class  UserCount 
      private byte[] userPw;
     
        public UserCount() {
        }
     
     public void setPw(final byte[] pw){userPw = pw;}
     
     public byte[] getPw(){return userPw;}
    Ca compile pas hein faut gérer l'exception mais dans l'idée c'est ça
    Yoshi

    PS : tous les propos tenus dans le message ci-dessus sont à préfixer avec "A mon humble avis", "Je pense que". Il serait inutilement fastidieux de le rappeler à chaque phrase.

  5. #5
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Merci à tous,
    j'ai ajoute une couche de chiffrement avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    KeyGenerator keyGen = KeyGenerator.getInstance("DES");
    Mon bean emporte la clé pour être déchiffré

    Merci
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

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

Discussions similaires

  1. [Socket][File] Envoyer un tableau de byte
    Par itsmii dans le forum Entrée/Sortie
    Réponses: 14
    Dernier message: 30/01/2014, 09h10
  2. [VB6]ecrire une chaine de byte dans la base de registre
    Par tomnie dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 17/12/2008, 10h50
  3. [C#] Conversion d'un byte[] en byte *
    Par karsh dans le forum Windows Forms
    Réponses: 6
    Dernier message: 08/12/2004, 10h53
  4. opérations sur les bits d'un byte
    Par petitours dans le forum C++Builder
    Réponses: 4
    Dernier message: 10/02/2004, 20h42
  5. transtyper ^dword en ^byte ?
    Par - Robby - dans le forum Langage
    Réponses: 3
    Dernier message: 28/10/2003, 00h58

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