Java - La méthode encodeBase64
J'ai une Chaîne String x = "Sample text";
et je veux imprimer le base64 cryptage de. Comme de nombreux exemples de mentionner, j'ai utiliser:
byte[] encodedBytes = Base64.encodeBase64(x.getBytes());
System.out.println("encodedBytes " + new String(encodedBytes));
Mais cela me donne The method encodeBase64(byte[]) is undefined for the type Base64
... Pourquoi est-ce?
Ce paquet est votre
Um? Je ne sais pas ce que cela signifie... j'ai juste ajouté
Base64 n'est pas de chiffrement, il est (binaire de texte) codage.
Base64
à partir de?Um? Je ne sais pas ce que cela signifie... j'ai juste ajouté
import java.util.Base64;
comme l'a suggéré =/Base64 n'est pas de chiffrement, il est (binaire de texte) codage.
OriginalL'auteur Oti Na Nai | 2015-04-27
Vous devez vous connecter pour publier un commentaire.
La
encode
méthode est décrite dans leBase64.Encoder
de classe que vous pouvez obtenir en cours d'exécutionBase64.getEncoder()
.De même, à décoder:
Découvrez le
Base64
javadoc pour plus d'info.La question @Ramraj mentionné a été fixé par le présent edit: stackoverflow.com/revisions/29887426/2
OriginalL'auteur Anubian Noob
Au lieu de réécrire le code, vous devez simplement inclure l'Apache commons codec module dans votre classpath. C'est la méthode exacte de la signature,
Base64.encodeBase64(byte[])
. Et oui, il suffit de cliquer sur "encodeBase64" dans une recherche sur internet devrait être suffisant.Noter que votre projet peut utiliser d'autres fonctionnalités de ce même package de codecs. Donc, vous devriez toujours essayer d'abord et trouver les modules /bibliothèques utilisées par un projet avant de commencer à remplacer le code. Et parfois il y a de subtiles différences entre les implémentations, qui pourrait rendre le projet est un échec dans les bonnes circonstances.
Cela dit, le code en question n'est évidemment pas de sens. Vous pouvez utiliser
encodeBase64String
de convertir directement àString
sans avoir à les convertir à d'octets, puis àString
. Et pour les plus récents au niveau de l'API, il est en effet lejava.util.Base64
classe, comme mentionné dans l'autre réponse. Enfin - et surtout - six
contient déjà une chaîne de caractères, pourquoi voudriez-vous de la base de 64 encoder?OriginalL'auteur Maarten Bodewes
Vous pouvez également utiliser:
à décoder (c'est ce que j'ai utilisé dans un fichier crypté en Base64 encodeur/décodeur applet j'ai récemment écrit)
OriginalL'auteur Colton Rushton