Stringa di crittografia con JASYPT - Java
-
26-09-2019 - |
Domanda
Voglio cifrare una stringa, ma le librerie standard di Java sono troppo complicate per me. Così mi sono girato verso JASYPT, la sua abbastanza semplice da usare e capire, tuttavia quando ho importare la libreria di Eclipse 3.6 e quando provo cifrare una stringa come "Ciao" con la password "123". Viene sempre con un errore. Non sono sicuro di quello che sto facendo male, ma penso che avviene anche quando uso altre biblioteche in Eclipse.
sorgente
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'errore: 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
libreria importata i.imgur.com/t9AM9.png
Soluzione
La libreria è stata importata dipende da un'altra libreria che contiene org/apache/commons/lang/exception/NestableRuntimeException
. Questo si trova nel Apache Commons Lang libreria .
In realtà, se si è scaricato JASYPT da http://sourceforge.net/projects/jasypt/files / si otterrà un file zip contenente un lib-cartella con i file:
- commons-codec-1.1.jar
- commons-lang-2.1.jar
- jasypt-1.6.jar
È necessario includere tutti questi nel progetto .
ho provato e il vostro programma di esempio po 'funziona bene (e stampa il seguente)
Hello World
v09l9j/BIeSoMkQXc2CY0VIJLlLAQTYq