【问题标题】:Triple DES encrypt/decrypt with zero padding in Java在 Java 中使用零填充进行三重 DES 加密/解密
【发布时间】:2015-07-28 21:07:20
【问题描述】:

我正在网上寻找,但找不到在 Java 中使用零填充的 3DES 加密示例。不可能吗?你能帮帮我吗,谢谢。 (我不是 Java 开发人员,但我需要这个。我们在 .NET 上使用 PaddingMode.Zeros)

【问题讨论】:

    标签: java cryptography padding 3des


    【解决方案1】:

    可从 Bouncy Castle 提供程序获得,但不能从 Java 本身获得。

    Bouncy Castle 中 "ZeroPadding" 选项的“问题”是它仍然总是填充,即使明文长度已经是 8 的倍数。这是一个内部设计“问题”有弹性。 .NET 可能并不总是用零填充,而 PHP 当然 并不总是用零填充。从这个意义上说,有 两种 填充方案称为零填充。如果填充方案不存在标准,这就是您得到的结果。

    自己实现零填充当然相对容易。通常不建议实现加密原语,但我想零填充可以排除在外。如果您的协议依赖于分组密码模式填充来确保安全,那么您已经遇到了麻烦。

    不过,您确实应该升级您的算法和操作模式。仅将其用于向后兼容,并确保您可以逐步淘汰它。

    【讨论】:

    • 如果在 .NET 中使用 ZeroPadding 加密 16 个字节,你会得到 16 个字节还是 24 个字节?您能否检查一下,我的新笔记本电脑上没有 .NET 开发环境。
    猜你喜欢
    • 2012-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 2019-07-02
    • 2012-01-21
    相关资源
    最近更新 更多