0

从一些相当新的 JRE 版本开始,我不再能够在 JNLP 程序中执行 MD5 哈希。它抛出一个java.lang.NullPointerException. 如果我运行与“普通”(非 JNLP)应用程序相同的应用程序,它工作正常。堆栈跟踪如下所示:

com.sun.jnlp.JNLPClassLoader.getPermissions(Unknown Source)
java.security.SecureClassLoader.getProtectionDomain(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
java.net.URLClassLoader.defineClass(Unknown Source)
java.net.URLClassLoader.access$100(Unknown Source)
java.net.URLClassLoader$1.run(Unknown Source)
java.net.URLClassLoader$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(Unknown Source)
com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
java.lang.ClassLoader.loadClass(Unknown Source)
java.lang.ClassLoader.loadClass(Unknown Source)
com.myapp.md5Hash(myapp.java:68)

最好的猜测是由于某些安全问题我被拒绝了?不知道为什么。我们已经准备好 JNLP 修复代码(用于修复 JNLP 链接问题)。想法?

当前调用的方法只是执行“MD5”的 MessageDigest 实例。我也试过DigestUtils方法。无论哪种方式都存在同样的问题。

4

1 回答 1

0

似乎没有任何办法解决这个问题。MD5 现在已经被一种专有算法所取代,可以做我们需要的事情(不需要恐慌,它不需要强大的散列方法)。

于 2015-05-27T18:03:44.157 回答