【问题标题】:Java PBE encrypted string length same as inputJava PBE 加密字符串长度与输入相同
【发布时间】:2014-05-28 10:30:42
【问题描述】:

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

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

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

有什么推荐的解决方案吗?或者有没有推荐的算法、代码示例等?

【问题讨论】:

    标签: java security encryption cryptography aes


    【解决方案1】:

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

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

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

    【讨论】:

    • 你能给出一个示例代码吗?我想要相同长度的输出字符串 - 因为我们不想更改数据库列。这将影响许多不同的应用程序
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 2012-12-23
    • 1970-01-01
    • 2019-11-04
    • 2019-02-08
    相关资源
    最近更新 更多