簡體   English   中英

使用 Jasypt 庫進行字符串加密

[英]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 文件:

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

您應該在您的項目中包含所有這些

我試過了,你的小示例程序運行良好(並打印以下內容)

Hello World
v09l9j/BIeSoMkQXc2CY0VIJLlLAQTYq

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM