Est-ce que quelqu'un sait comment décoder et encoder une chaîne en Base64 à l'aide de Base64. J'utilise le code suivant, mais cela ne fonctionne pas.
String source = "password";
byte[] byteArray = source.getBytes("UTF-16");
Base64 bs = new Base64();
//bs.encodeBytes(byteArray);
System.out.println( bs.encodeBytes(byteArray));
//bs.decode(bs.encodeBytes(byteArray));
System.out.println(bs.decode(bs.encodeBytes(byteArray)));
import android.util.Base64;
et ensuite utiliserBase64.encodeToString
etBase64.decode
selon vos besoinsRéponses:
Première:
Fin de transmission:
text.getBytes(encodingName)
)Base64
classeDestinataire:
Base64
classenew String(bytes, encodingName)
)Donc quelque chose comme:
Ou avec
StandardCharsets
:la source
UTF-8
est garanti d'être un encodage valide en Java: voir docs.oracle.com/javase/8/docs/api/java/nio/charset/Charset.html . Certes, ces jours-ci, je préciseraisStandardCharsets.UTF_8
plutôt. J'ai mis à jour la réponse pour spécifier que vous devez avoir confiance en la présence du jeu de caractères, mais j'utiliserais presque toujours UTF-8.Pour toute autre personne qui s'est retrouvée ici en cherchant des informations sur la façon de décoder une chaîne encodée avec
Base64.encodeBytes()
, voici ma solution:En outre, je prends en charge les anciennes versions d'Android, j'utilise donc la bibliothèque Base64 de Robert Harder à partir de http://iharder.net/base64
la source
Pour Kotlin mb mieux utiliser ceci:
Exemple:
la source
Si vous utilisez Kotlin, utilisez comme ceci
Pour encoder
Pour décoder
la source
quelque chose comme
la source
Pour chiffrer:
Pour décrypter:
la source
Sur la base des réponses précédentes, j'utilise les méthodes utilitaires suivantes au cas où quelqu'un voudrait l'utiliser.
la source
Pour API niveau 26+
Réf: https://developer.android.com/reference/java/util/Base64.Encoder.html#encodeToString (octet [])
la source
La classe 'java.util.Base64' fournit des fonctionnalités pour encoder et décoder les informations au format Base64.
Comment obtenir l'encodeur Base64?
Comment obtenir le décodeur Base64?
Comment encoder les données?
Comment décoder les données?
Vous pouvez obtenir plus de détails sur ce lien .
la source
la source
la source
pour l'API Android
byte[]
à l'Base64String
encodeurla source