c'est le soleil.misc paquet encore disponibles dans java?
Je voudrais profiter de l'encoder en Base64 de l'emballage soleil.misc.BASE64Encoder parce que j'ai besoin de coder un mot de passe. Cependant, une erreur est générée lorsque je fais l'importation pour cet ensemble.
le message où le code pour le codeur est utilisé est le suivant:
private synchronized static String hash(final String username, final String password) {
DIGEST.reset();
return new BASE64Encoder().encode(DIGEST.digest((username.toLowerCase() + password).getBytes()));
}
Est-il un équivalent de la classe en java qui fait la même chose? Ou peut-être, quelqu'un sait comment faire pour être en mesure d'obtenir le code de la classe d'origine peut-être s'il vous plaît?
merci 🙂
Réponse courte: "oui, mais ne pas les utiliser"
OriginalL'auteur ict1991 | 2011-12-26
Vous devez vous connecter pour publier un commentaire.
Je vous suggère d'oublier le
sun.misc.BASE64Encoder
et l'utilisation d'Apache Commons Base64 classe. Voici le lien: http://commons.apache.org/codec/apidocs/org/apache/commons/codec/binary/Base64.htmlMise à jour (6/7/2017)
À l'aide de
sun.misc.BASE64Encoder
provoquera une erreur de compilation avec Java 9 et il est déjà donner un avertissement en Java 8.Le droit de la classe à utiliser est
Base64
dansjava.util
paquet.Exemple:
OriginalL'auteur DejanLekic
Il n'y a pas publiquement disponible " (façon de parler) de la classe Java. Envisager l'utilisation d'Apache Commons Codec package qui contient une mise en œuvre de base64. La page d'accueil est ici: http://commons.apache.org/codec/.
Vous utilisez
sun.*
oucom.sun.*
paquets directement à vos propres risques. Rétro-compatibilité n'est pas garantie pour ceux.OriginalL'auteur ivantod
Voir cette question mais à mon humble avis l'on a accepté la réponse est fausse. Vous ne voulez pas utiliser la non-documenté des classes comme tout ce qui commence par
sun
. La raison pour cela est que maintenant, votre code repose sur une JVM (une JVM IBM pourrait ne pas avoir ce par exemple).La 2ème réponse (avec le plus de votes) est celui que vous voulez.
OriginalL'auteur Francis Upton
Il y a une grande différence entre un avertissement et un message d'erreur si vous avez besoin de lire le message attentivement pour voir ce qu'il ce qu'il dit.
Classes dans le soleil.misc peut changer et ne pas être présent sur toutes les machines virtuelles. Vous êtes de lecture à l'aide d'une bibliothèque qui a de l'encodage BASE64.
À mon humble avis, Vous pouvez utiliser le soleil.misc est que vous comprenez tous les risques à l'aide de la classe. Cependant, dans votre cas, il est de loin préférable d'éviter d'utiliser toute la classe sous
sun.
etcom.sun.
OriginalL'auteur Peter Lawrey
En général, Oracle recommande de ne pas l'appeler "Soleil" paquets
http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html
Par ailleurs, dans votre cas, il y avait une demande pour la migration de l'utilisation du soleil.misc.* pour les Api prises en charge (JDK-8066506), et il est lié au soleil.misc.BASE64Decoder:
source: http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html
OriginalL'auteur evinhas