String-Verschlüsselung mit JASYPT - Java
-
26-09-2019 - |
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
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