Frage

Ich möchte eine Zeichenfolge verschlüsseln, aber die Standard-Java-Bibliotheken sind mir zu kompliziert. Also ich zu JASYPT, Es ist ziemlich einfach worden, zu bedienen und verstehen jedoch, wenn ich die Bibliothek von Eclipse importieren 3.6 und wenn ich eine Zeichenfolge wie „Hallo“ versuchen verschlüsselt mit dem Kennwort „123“. Es kommt immer mit einem Fehler auf. Ich bin nicht sicher, was falsch im tue, aber ich denke, es passiert auch, wenn ich andere Bibliotheken in Eclipse verwenden.

Quelle

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"));
 }
}

der Fehler: 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

importierte Bibliothek i.imgur.com/t9AM9.png

War es hilfreich?

Lösung

Die Bibliothek Sie ist abhängig von einer anderen Bibliothek importiert org/apache/commons/lang/exception/NestableRuntimeException enthält. Dies liegt in der Apache Commons Lang Bibliothek .

In der Tat, wenn Sie heruntergeladen JASYPT von http://sourceforge.net/projects/jasypt/files / Sie eine ZIP-Datei erhalten einen lib-Ordner mit diesen Dateien enthalten:

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

Sie sollten alle diese in Ihrem Projekt enthalten .

Ich versuchte es und Ihr kleines Beispielprogramm funktioniert (und druckt die folgende)

  

Hello World
  v09l9j/BIeSoMkQXc2CY0VIJLlLAQTYq

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top