当前位置: 首页 > 面试题库 >

Java默认的Crypto / AES行为

应涵容
2023-03-14
问题内容

有谁知道默认的Java加密行为是什么:

SecretKeySpec localSecretKeySpec = new SecretKeySpec(arrayOfByte, "AES");
Cipher localCipher = Cipher.getInstance("AES");

具体来说,我希望了解这些类如何生成IV,以及仅指定“ AES”时的默认加密模式是什么。谢谢。


问题答案:

对于Oracle JDK 7(已测试),AES的默认密码为AES / ECB / PKCS5Padding。尽管Java安全性文档没有对此进行提及(http://docs.oracle.com/javase/6/docs/technotes/guides/security/StandardNames.html#algspec),但必须进行一些JUnit测试才能找出答案。



 类似资料:
  • 问题内容: 因此,我在过去的一个小时里一直在互联网上浏览,阅读并寻找这个简单问题的明确答案。 MySQL中的默认JOIN是什么? 一样吗 还有一个相关的问题,当您使用“ WHERE”子句时,它与JOIN或INNER JOIN相同吗? 现在,我认为独立的JOIN与使用逗号和WHERE子句相同。 问题答案: 在MySQL中,写不合格的隐含含义。换句话说,in 是可选的。而在MySQL的同义词。为了清楚

  • 我编写了一个小的java程序,在Windows8中使用NetBeans读取文件并进行字符串匹配。但当我在ubuntu上使用terminal编译时,出现了以下消息。在ubuntu中是否有缺省的包,用于错误中的以下包。

  • 问题内容: Oracle关于AES-NI关于Java 8的说法如下: 添加了硬件内在函数以使用高级加密标准(AES)。UseAES和UseAESIntrinsics标志可用于为Intel硬件启用基于硬件的AES内在函数。硬件必须是2010或更新的Westmere硬件。例如,要启用硬件AES,请使用以下标志: 要禁用硬件AES,请使用以下标志: 但这并不表示默认情况下是否启用了AES内部函数(对于支

  • 我使用mysql aes加密和解密如下: 我读到AES支持128 192和256。我假设默认值是128是正确的吗?因此,鉴于上述查询没有定义密钥长度,它会以默认密钥长度加密和解密吗? 如果是这样,在上面的查询中指定密钥长度会更好吗?因为例如:假设我使用默认值128加密和存储数据,但后来设置更改,256变为默认值,那么这意味着它将无法解密数据,对吗?有没有办法在上面的查询中定义密钥长度? 另外,我用

  • 当您的系统里同时安装了 java 6 及 java 7 的时候,系统默认使用的 java 版本不一定是 java 7. 运行命令 java -version, 查看输出: 如果输出中显示 “java version “1.7.0_xx”, 那么您默认的 java 版本是 java 7. 您可以略过下面的步骤。 如果输出中显示 “java version “1.6.0_xx”, 那么您默认的 jav

  • 我创建了一个函数,它使用: 如果我试着运行这个,比如: 我得到这个错误: 如果我尝试改变: 到 我得到: 如何将此输入字符串最小值强制为8?