Question

Je veux chiffrer une chaîne, mais les bibliothèques Java standard sont trop compliquées pour moi. Alors je me suis tourné vers JASYPT, Son assez simple à utiliser et à comprendre, mais quand j'importer la bibliothèque Eclipse 3.6 et quand je tente de chiffrer une chaîne comme « Bonjour » avec le mot de passe « 123 ». Il est toujours une erreur. Je ne sais pas de quoi je fais mal, mais je pense que cela arrive aussi quand j'utiliser d'autres bibliothèques dans Eclipse.

Source

import org.jasypt.util.text.BasicTextEncryptor;

public class eMain {
 static BasicTextEncryptor textEncryptor = new BasicTextEncryptor();

 public static void main(String[] args) {
  System.out.println("Hello World");
  textEncryptor.setPassword("123");
  System.out.println(textEncryptor.encrypt("Hello World"));
 }
}

l'erreur: i.imgur.com/vBe8p.png

Eclipse CONSLE:

java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClassCond(Unknown Source)
 at java.lang.ClassLoader.defineClass(Unknown Source)
 at java.security.SecureClassLoader.defineClass(Unknown Source)
 at java.net.URLClassLoader.defineClass(Unknown Source)
 at java.net.URLClassLoader.access$000(Unknown Source)
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at org.jasypt.util.text.BasicTextEncryptor.<init>(BasicTextEncryptor.java:67)
 at eMain.<clinit>(eMain.java:4)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 ... 14 more

bibliothèque importée i.imgur.com/t9AM9.png

Était-ce utile?

La solution

La bibliothèque que vous avez importé dépend d'une autre bibliothèque contenant org/apache/commons/lang/exception/NestableRuntimeException. Il est situé dans le Apache Commons Lang bibliothèque .

si vous avez téléchargé En fait, JASYPT de http://sourceforge.net/projects/jasypt/files / vous obtiendrez un fichier zip contenant un dossier lib avec ces fichiers:

  • commons-codec 1.1.jar
  • commons-lang-2.1.jar
  • jasypt-1.6.jar

Vous devez inclure tous ces éléments dans votre projet .

Je l'ai essayé et votre petit exemple de programme fonctionne très bien (et imprime les suivantes)

  

Hello World
  v09l9j/BIeSoMkQXc2CY0VIJLlLAQTYq

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top