2010-10-25 19 views
5

Quiero cifrar una cadena, pero las bibliotecas estándar de Java son demasiado complicadas para mí. Así que recurrí a JASYPT, es bastante fácil de usar y entender, sin embargo, cuando importo la biblioteca a Eclipse 3.6 y cuando intento encriptar una cadena como "Hola" con la contraseña "123". Siempre sale con un error. No estoy seguro de qué estoy haciendo mal, pero creo que también sucede cuando uso otras bibliotecas en eclipse.Encriptación de cadena con JASYPT - Java

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

+0

hiciste para utilizar la sal así? – J888

Respuesta

3

La biblioteca que importó depende de otro l ibrary que contiene org/apache/commons/lang/exception/NestableRuntimeException. Esto se encuentra en el Apache Commons Lang library.

De hecho, si ha descargado Jasypt de 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

+0

¿tiene alguna idea de cómo implementarlo en hibernación también? – J888

+0

Esa pregunta es un poco vaga. Quizás debería echar un vistazo a los tipos de usuario. Te sugiero que publiques una nueva pregunta sobre esto. – aioobe

Cuestiones relacionadas