Je passe toute la journée à essayer de trouver la réponse, donc finalement j'écris ici. Je crypte une chaîne avec une classe crypto et j'obtiens un octet []. Je dois convertir cet octet en chaîne avec tostring(), à télécharger dans un site Web. J'ai besoin d'obtenir cette chaîne, décrypte et récupère la chaîne d'origine. Mon problème concerne getBytes, qui ne renvoie pas le même octet [] à décrypter.Méthode chaîne à octet
J'ai besoin de convertir la chaîne d'origine en byte [], encrypt, obtenir l'octet [] qui retourne, convertir en chaîne puis, cette chaîne convertir en byte [] et obtenir le même octet [] encrypted.
J'essaye tout ce que j'avais à l'esprit. J'ai besoin d'une méthode qui avec une chaîne, retourne toujours le même octet [] et getbytes ne le fait pas.
ajouter un exemple:
String s2="this is an example";
byte[] b1=s2.getBytes("UTF-8");
byte[] b2=s2.getBytes("UTF-8");
System.out.println("Byte s:"+b1);
System.out.println("Byte s:"+b2);
Il y a une méthode à partir d'une chaîne donne le même octet []? Avec getBytes (au moins chez moi) j'obtiens deux octets différents []. Merci.
Désolé, mais votre question est très difficile à suivre, probablement parce que l'anglais n'est pas votre langue maternelle. Pouvez-vous poster un code montrant ce que vous faites et ce que vous sortez n'est pas ce que vous voulez? –
Quel jeu de caractères utilisez-vous lors du décodage de byte [] en String et quel charset utilisez-vous lors de l'encodage de String à byte []? Vous devez utiliser le même jeu de caractères pour les deux ou vous ne pouvez pas obtenir l'octet original []. –
Ce n'est pas ma langue maternelle, désolé. Je poste un exemple sur mon problème. Si j'écris ceci: Chaîne s = "ceci est un exemple"; octet [] b1 = s.getBytes ("UTF-8"); octet [] b2 = s.getBytes ("UTF-8"); System.out.println ("Octets s:" + b1); System.out.println ("Octet s:" + b2); J'obtiens deux octets différents. J'ai besoin de quelque chose que pour une chaîne j'obtiens un byte [], une relation symétrique byte [] -> String -> byte [] avec les deux octets égaux. J'ai essayé tout le jeu de caractères, par défaut, UTF-8 ... et je me suis soucié de coder et de décoder avec le même. Merci à vous deux. – Jmm