2010-10-25 13 views
5

Ich möchte eine Zeichenfolge verschlüsseln, aber die Standard-Java-Bibliotheken sind zu kompliziert für mich. So wandte ich mich an JASYPT, es ist ziemlich einfach zu bedienen und zu verstehen, aber wenn ich die Bibliothek in Eclipse 3.6 importieren und wenn ich versuche, eine Zeichenfolge wie "Hallo" mit dem Passwort "123" zu verschlüsseln. Es kommt immer auf einen Fehler. Ich bin mir nicht sicher, was ich falsch mache, aber ich denke, es passiert auch, wenn ich andere Bibliotheken in Eclipse verwende.String-Verschlüsselung mit JASYPT - Java

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

+0

haben Sie es geschafft und Salz zu verwenden? – J888

Antwort

3

Die importierte Bibliothek hängt von einem anderen l ab Bibliothek mit org/apache/commons/lang/exception/NestableRuntimeException. Diese befindet sich in der Apache Commons Lang library.

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

  • 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 folgenden)

Hello World
v09l9j/BIeSoMkQXc2CY0VIJLlLAQTYq

+0

haben Sie eine Idee, wie Sie es auch im Winterschlaf implementieren? – J888

+0

Diese Frage ist irgendwie vage. Vielleicht sollten Sie sich die Benutzertypen ansehen. Ich schlage vor, dass Sie eine neue Frage diesbezüglich stellen. – aioobe