Java - Crypt32Util - ClassNotFoundException

时间:2016-02-23 19:02:51

标签: java winapi encryption jna

我试图解密我有权访问的数据库的值。 密码通过Windows API加密。所以我的想法还可以。让我们尝试然后以同样的方式解密它!

我使用Java 1.8.0_60和JNA-platform.jar ...

            while (results.next()) {
            String address = results.getString("value1");
            String username = results.getString("value2");
            String password = new String(Crypt32Util.cryptUnprotectData(results.getBytes("value_which_is_crypted")));
            list.add(new String[] { value1,value2,value_which_is_crypted });

        }

但是,如果我试图执行我的代码我得到一个ClassNotFoundException!

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Structure
at java.lang.ClassLoader.defineClass1(Native Method)
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$100(Unknown Source)
at java.net.URLClassLoader$1.run(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 com.sun.jna.platform.win32.Crypt32Util.cryptUnprotectData(Crypt32Util.java:121)
at com.sun.jna.platform.win32.Crypt32Util.cryptUnprotectData(Crypt32Util.java:103)
at com.sun.jna.platform.win32.Crypt32Util.cryptUnprotectData(Crypt32Util.java:90)
at recover.Chrome.recover(Chrome.java:35)
at recover.Chrome.main(Chrome.java:49)
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Structure
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)
... 17 more

我希望这是足够的信息,因为这显然让我很头疼。 感谢帮助!

编辑:

  

好的经验教训..当你在构建路径中使用jna包括jna.jar和jna-platform.jar>时!谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

在类路径中还需要jna.jar - com/sun/jna/Structure.class就在那个jar中。