大家都在谈论密码中的填充方案,但实际上需要传递给密码的字符串是什么?我不关心它们是对称的还是非对称的,我只想要一个可能值的列表。
大家都在谈论密码中的填充方案,但实际上需要传递给密码的字符串是什么?我不关心它们是对称的还是非对称的,我只想要一个可能值的列表。
然后可能是您在提到加密盐。
编辑
Java平台的每个实现都需要支持以下标准Cipher转换,其中括号中为密钥大小:
您可以在这里找到一个列表。
编辑2
您可以在这里找到Bouncy Castle规范。它列出了所有可用的填充方案。
块密码需要填充,而流密码不需要。块密码需要填充是因为它们加密整个数据块,而您的消息可能不完全匹配整数块。填充用于将消息长度扩展到下一个块边界。
详见维基百科关于密码填充的文章。
大多数情况下使用PKCS#7(又称PKCS#5)填充:n个字节,全部值为n:
01
02 02
03 03 03
...
10 10 10 10 ... 10 10