2010-10-25 52 views
5

我想加密字符串,但標準java庫對我來說太複雜了。 所以我轉向JASYPT,它非常易於使用和理解,但是當我將庫導入到Eclipse 3.6並且嘗試使用密碼「123」加密字符串「Hello」時。它總是出現錯誤。我不確定什麼即時通訊做錯了,但我認爲這也發生在我在日食中使用其他庫。使用JASYPT進行字符串加密 - Java

來源

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

錯誤: 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 

進口圖書館 i.imgur.com/t9AM9。 png

+0

你管理使用鹽呢? – J888 2013-10-25 04:35:23

回答

3

您導入的庫取決於另一個l包含org/apache/commons/lang/exception/NestableRuntimeException的文庫。這是位於Apache Commons Lang library

事實上,如果從http://sourceforge.net/projects/jasypt/files/下載JASYPT你會得到一個zip文件,其中包含一個lib文件夾這些文件:

  • 公地編解碼器1.1.jar
  • 公共琅2.1的.jar
  • jasypt-1.6.jar

你應該在你的項目所有這些。

我嘗試過了,你的小樣本程序正常工作(並打印以下)

Hello World
v09l9j/BIeSoMkQXc2CY0VIJLlLAQTYq

+0

你知道如何在hibernate上實現它嗎? – J888 2013-10-25 04:35:43

+0

這個問題有點含糊。也許你應該看看用戶類型。我建議你發表一個關於這個問題的新問題。 – aioobe 2013-10-25 08:05:20

相關問題