[英]String encryption with Jasypt library
我想加密一個字符串,但標准 Java 庫對我來說太復雜了。
所以我轉向了Jasypt labriry。 它的使用和理解非常簡單。 但是,當我將庫導入 Eclipse 3.6 並嘗試使用密碼“123”加密像“Hello”這樣的字符串時,它總是出現錯誤。 我不確定我做錯了什么,但我認為當我在 Eclipse 中使用其他庫時也會發生這種情況。
來源:
import org.jasypt.util.text.BasicTextEncryptor;
public class Main {
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"));
}
}
錯誤信息:
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
您導入的庫依賴於另一個包含org/apache/commons/lang/exception/NestableRuntimeException
。 它位於Apache Commons Lang 庫中。
事實上,如果您從http://sourceforge.net/projects/jasypt/files/下載了 JASYPT,您將獲得一個包含以下文件的 lib 文件夾的 zip 文件:
您應該在您的項目中包含所有這些。
我試過了,你的小示例程序運行良好(並打印以下內容)
Hello World
v09l9j/BIeSoMkQXc2CY0VIJLlLAQTYq
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.