Convertir un String en [] byte et l' inverse
Résolu
safia_Y
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
sohaibamira Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
sohaibamira Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je veut faire une petite application client/serveur en java ,la communication entre le client et le serveur doit être sécurisée.
je suit cette démarche :
un client demande une connexion au serveur ,
le serveur génère une paire de clé - en utilisant rsa- , et envoie au client la clé public
le client génère une clé de session pour le chiffrement de donnée , if chiffre la clé de session par la clé public du serveur, et renvoi la clé de session chiffrée au serveur, ce dernier la déchiffrer en utilisant sa clé privée
le probleme est le suivant
au niveau du client:
le serveur recupere cette valeur : [B@35f03691 mais sous forme de string
je veut la converti en tableau de byte pour la passer comme param de fonction de dechiffrement
recu par socket: [B@35f03691 !=[B@67ce85c4
est donc le dechffrement de cette valeur ne donne plus la cle de session réelle
merci pour votre aide
je veut faire une petite application client/serveur en java ,la communication entre le client et le serveur doit être sécurisée.
je suit cette démarche :
un client demande une connexion au serveur ,
le serveur génère une paire de clé - en utilisant rsa- , et envoie au client la clé public
le client génère une clé de session pour le chiffrement de donnée , if chiffre la clé de session par la clé public du serveur, et renvoi la clé de session chiffrée au serveur, ce dernier la déchiffrer en utilisant sa clé privée
le probleme est le suivant
au niveau du client:
byte[] encrypted = rsa.encrypt(clé_session.getBytes()); // ceci me donne [B@35f03691 j'ai envoyé encrypted.toString() par socket au serveur
le serveur recupere cette valeur : [B@35f03691 mais sous forme de string
je veut la converti en tableau de byte pour la passer comme param de fonction de dechiffrement
byte[] Todecrypt=clé_recu.getBytes(); // cela me donne : [B@67ce85c4 qui est diff/rent de la valeur recu comme string
recu par socket: [B@35f03691 !=[B@67ce85c4
est donc le dechffrement de cette valeur ne donne plus la cle de session réelle
merci pour votre aide
A voir également:
- Convertir un String en [] byte et l' inverse
- Annuaire inversé - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Ecran inversé - Guide
- Malware byte - Télécharger - Antivirus & Antimalwares
- Convertir epub en kindle - Guide
3 réponses
Si tu as :
byte[] tab;Tu peux faire :
String str = new String(tab);Et dans l'autre sens :
tab = str.getBytes();La confiance n'exclut pas le contrôle
Le probleme est resolu
byte[]tab -> BigInteger en utilisant new BigInteger(tab)
la valeur envoyé comme un string
coté serveur
byte [] tab =new BigInteger (str_clé_recu).toByteArray();
byte[]tab -> BigInteger en utilisant new BigInteger(tab)
la valeur envoyé comme un string
coté serveur
byte [] tab =new BigInteger (str_clé_recu).toByteArray();
Bonjour
A toutes fins utiles ==> https://www.commentcamarche.net/infos/25917-marquer-un-fil-de-discussion-comme-etant-resolu/
A toutes fins utiles ==> https://www.commentcamarche.net/infos/25917-marquer-un-fil-de-discussion-comme-etant-resolu/
bonjour,
svp donner cette code de convertir le string en byte et l'inverce parce que j'ai besoin.
et merci.
svp donner cette code de convertir le string en byte et l'inverce parce que j'ai besoin.
et merci.
Merci
mais le problème reste toujours au niveau du serveur
je peut envoyer que des string par les socket
ce tab de type byte sera envoyer comme un string
dans l'autre coté je veut recuperer le tab comme byte
au niveau de client
svp donner le code de convertir le string en byte et l'inverce de safia_Y qui trouve la solution par utilise le Biginteger parce que j'ai besoin.
et merci.
mais le problème reste toujours au niveau du serveur
je peut envoyer que des string par les socket
ce tab de type byte sera envoyer comme un string
dans l'autre coté je veut recuperer le tab comme byte
au niveau de client
svp donner le code de convertir le string en byte et l'inverce de safia_Y qui trouve la solution par utilise le Biginteger parce que j'ai besoin.
et merci.
svp donner le code de convertir le string en byte et l'inverce de safia_Y qui trouve la solution par utilise le Biginteger parce que j'ai besoin.
Il suffit de lire la réponse de safia_Y :
https://forums.commentcamarche.net/forum/affich-26712861-convertir-un-string-en-byte-et-l-inverse#4
Mais je pense que c'est une transformation inutile, les sockets transfère des bytes, peu importe ce qu'ils contiennent, donc faire String ↔ byte[] c'est normal, mais faire String ↔ BigInteger ↔ byte[] c'est plus compliqué pour rien.
Il suffit de lire la réponse de safia_Y :
https://forums.commentcamarche.net/forum/affich-26712861-convertir-un-string-en-byte-et-l-inverse#4
Mais je pense que c'est une transformation inutile, les sockets transfère des bytes, peu importe ce qu'ils contiennent, donc faire String ↔ byte[] c'est normal, mais faire String ↔ BigInteger ↔ byte[] c'est plus compliqué pour rien.
le problème reste toujours au niveau du serveur
je peut envoyer que des string par les socket
ce tab de type byte sera envoyer comme un string
dans l'autre coté je veut recuperer le tab comme byte
au niveau de client
au niveau de serveur:
je veut un tab de type byte coté serveur tq
me donne une autre
Exemple :
Et si tu cumules les erreurs, au lieu de traiter le tableau, tu traites la valeur de toString, qui devient un tout autre tableau de bytes, et ensuite ça devient n'importe quoi...
la méthode toString() est effectivement utilisé , puisque jài envoyé le tableau en socket , la socket travaille qu'avec des string, c'est comme System.out.print(tab)