Шифрование строк с помощью JASYPT - Java - PullRequest
5 голосов
/ 25 октября 2010

Я хочу зашифровать строку, но стандартные библиотеки Java слишком сложны для меня.Поэтому я обратился к JASYPT, его довольно просто использовать и понимать, однако, когда я импортирую библиотеку в Eclipse 3.6 и когда я пытаюсь зашифровать строку типа «Hello» с паролем «123».Это всегда приходит с ошибкой.Я не уверен, что я делаю неправильно, но я думаю, что это также происходит, когда я использую другие библиотеки в Eclipse.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

1 Ответ

3 голосов
/ 25 октября 2010

Библиотека, которую вы импортировали, зависит от другой библиотеки, содержащей org/apache/commons/lang/exception/NestableRuntimeException.Он находится в библиотеке Apache Commons Lang .

Фактически, если вы скачали JASYPT из http://sourceforge.net/projects/jasypt/files/, вы получите zip-файл, содержащий папку lib с этимифайлы:

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

Вы должны включить все это в свой проект .

Я попробовал это сделать, и ваша маленькая программа-пример работает нормально (и печатает следующее)

Hello Worldv09l9j/BIeSoMkQXc2CY0VIJLlLAQTYq

...