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

Entrée/Sortie Java Discussion :

Convertir un ObjectInputStream vers un byte[]


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 14
    Par défaut Convertir un ObjectInputStream vers un byte[]
    Bonjour,

    je bute actuellement sur le problème suivant :

    je suis en train de créer une application client/serveur, afin de tester les différents chiffrement avec clé possible(clé symétrique, asymétrique etc...)

    Cependant, alors que mon serveur envoie au client la SecretKey sous la forme d'un ObjectOutputStream, je cherche à récupérer avec mon client cette clé, que je reçoit donc sous la forme d'un ObjectInputStream.

    Je cherche en fait a récréer cette SecretKey.

    J'utilise pour cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SecretKey sks = new SecretKeySpec(tabByteSk, "AES");
    tabByte étant une tableau de byte correspondant a ce que je reçois dans mon ObjectInputStream, et "AES" correspondant au type de chiffrement désiré.

    Mais je n'arrive pas à récupérer ces bytes.

    Peut-être existe t-il un autre moyen, mais je ne vois pas comment faire.

    Merci d'avance pour vos réponses.

  2. #2
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int bytesLus = inputStream.read(tonTableauDeByte)
    basiquement. Ensuite, il peux arriver que byteLus ne soit pas assez (engorgement réseau ou autre) dans ce cas le plus simple est d'utiliser un BufferedInputStream dont la méthode public int read(byte[] b, int off, int len) fait déjà le boulot de tenter de lire tout ce dont tu as besoin.

  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,

    Attention à l'implémentation quand même, passer une clé secrete dans un Objet Java, n'est pas le mieux au niveau sécurité. En principe une clé secrète qui transite est crypté par un autre algorithme asymétrique cette fois. Donc c'est aussi un flux de Byte comme le message.

    Car bon si tu transmets ton objet SecretKeySpec sur le reseau, autant ne rien crypter.

Discussions similaires

  1. convertir un objet vers un tableau de byte
    Par zerocoolyoussef dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 19/02/2008, 23h11
  2. Convertir d'hexadécimal vers décimal
    Par WebPac dans le forum Delphi
    Réponses: 4
    Dernier message: 05/09/2006, 12h01
  3. [C# > C++] Comment convertir un sting^ vers un char* ?
    Par Elbarto dans le forum C++/CLI
    Réponses: 6
    Dernier message: 15/06/2006, 20h58
  4. Convertir dump postgres vers mysql
    Par )3lade dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 03/10/2005, 16h51
  5. [gtkmm] Convertir un ustring vers un array
    Par alejandro dans le forum GTK+
    Réponses: 2
    Dernier message: 17/05/2005, 13h43

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