Pregunta

Quiero cifrar una cadena, pero las bibliotecas estándar de Java son demasiado complicados para mí. Así que me di la vuelta para Jasypt, es bastante fácil de usar y entender, sin embargo cuando la importación de la biblioteca para Eclipse 3.6 y cuando intento cifrar una cadena como "Hola" con la contraseña "123". Siempre se le ocurre un error. No estoy seguro de lo que estoy haciendo mal, pero creo que también sucede cuando se utiliza otras bibliotecas en eclipse.

Fuente

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

el error: 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

biblioteca importada i.imgur.com/t9AM9.png

¿Fue útil?

Solución

La biblioteca ha importado depende de otra biblioteca que contiene org/apache/commons/lang/exception/NestableRuntimeException. Esta se encuentra en el Apache Commons Lang biblioteca .

De hecho, si ha descargado desde Jasypt http://sourceforge.net/projects/jasypt/files / obtendrá un archivo zip que contiene una carpeta de la liberación con estos archivos:

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

debe incluir todos estos en su proyecto .

Lo he probado y su programa de ejemplo pequeña funciona bien (e imprime el siguiente)

  

Hello World
  v09l9j/BIeSoMkQXc2CY0VIJLlLAQTYq

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top