根据http://docs.oracle.com/javase/6/docs/technotes/guides/security/overview/jsoverview.html:
出于历史(出口控制)原因,加密API 分为两个不同的包。该
java.security
包中包含的类 不受出口管制(如Signature
和MessageDigest
)。javax.crypto
package包含受出口控制的类(如Cipher
和KeyAgreement
)。
这是什么意思?
有什么区别?
注意:此文档参考在Java EE doc的安全性部分>>中引用。 http://docs.oracle.com/javaee/6/tutorial/doc/bnbwj.html |这个过时了吗?
答案 0 :(得分:5)
首先要注意的是,您引用的文字“出于历史原因”开始。
美国对某些加密算法和某些密钥长度以上的实现有出口控制。在克林顿政府执政期间,他们大多被罢免:肯定是那些影响Java的人。您在参考Java加密时向他们阅读的任何参考都已过时。
然而,Java受到加密导入策略的影响,这就是存在无限强度加密策略下载的原因。如果它在您所在的司法辖区是合法的,您可以下载并安装它。它所做的只是启用已存在于JRE中并因此已导出的代码。 QED