Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么java加密填充算法称为PKCS#5?_Java_Encryption - Fatal编程技术网

为什么java加密填充算法称为PKCS#5?

为什么java加密填充算法称为PKCS#5?,java,encryption,Java,Encryption,接下来,为什么Java规范将填充算法定义为PKCS#5,而实际上应该是PKCS#7?BouncyCastle的实现将PKCS#7定义为有效。从技术上讲,Java应该说PKCS#7,因为理论上PKCS#5对AESAIUI无效,PKCS#5只正式定义为64位块,而PKCS#7的定义扩展到128位块。实际上,我所知道的所有实现都将处理这两种块大小,这一点没有区别。唯一有效的区别在于名字层面。对于试图结束这一点的人来说:这不是基于意见的;可能知道细节的人不太可能找到问题。他们可能很久以前就这样命名了它,

接下来,为什么Java规范将填充算法定义为PKCS#5,而实际上应该是PKCS#7?BouncyCastle的实现将PKCS#7定义为有效。从技术上讲,Java应该说PKCS#7,因为理论上PKCS#5对AES

AIUI无效,PKCS#5只正式定义为64位块,而PKCS#7的定义扩展到128位块。实际上,我所知道的所有实现都将处理这两种块大小,这一点没有区别。唯一有效的区别在于名字层面。

对于试图结束这一点的人来说:这不是基于意见的;可能知道细节的人不太可能找到问题。他们可能很久以前就这样命名了它,然后认为重命名它不值得麻烦。最多他们应该提供PKCS7PADDING作为PKCS5PADDING的同义词。如果PKCS5的作者回去为PKCS5编写了一份附录,将填充方案推广到更大的块大小,你会更高兴吗?@Aarondigula我认为达到了一定程度,你说那个人出现的可能性很小,最好结束这个问题,降低更高的风险出现了自以为是的答案。@DuncanJones:无法回答问题并不意味着这是一个坏问题。在这种情况下,将PKCS#5与AES一起使用可能会在代码中引入一些微妙的错误。虽然很有趣,但这似乎并不能回答这个问题。OP看起来好像知道这两种填充方案之间的区别。