Java PBE加密的字符串长度与输入相同

时间:2014-05-28 10:30:42

标签: java security encryption cryptography aes

我正在尝试使用Java AES算法加密少数数据库列(字符串值)。这是为了保护某些敏感数据。对于某些用户,这些数据应该被解密。

在Java AES加密中,如果我的输入字符长度是60,我的加密字符串长度为88。

但我不想改变加密数据的长度。我们有大量的表,许多应用程序正在使用这些表。我们希望尽量减少加密表中某些字段的影响。

有推荐的解决方案吗?或者是否有任何推荐的算法,代码示例等?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可以使用流密码而不是分组密码。请注意,分组密码也可以用作流密码,例如计数器模式下的AES。

如果您必须使用分组密码且所有字段都大于一个分区,则可以使用cipher text stealing

这两种方法都会为您提供一个与输入相同的输出(当被视为字节数组时)。将输出字节数组表示为与输入长度相同的字符串可能有困难。