【发布时间】:2014-02-11 16:39:03
【问题描述】:
道歉所有 - 加密新手 - 谷歌搜索了好几天,终于直接问了。
我需要使用 PHP 加密和解密 Java TripleDES“DESede/ECB/NoPadding”函数可读的数据。
在 Java 中有一个双倍长度的 32 个字符的键,例如“F4D5CBDF57FEEDCFA41FD6AFE7BCDFEA”被转换为字节并提供没有任何问题的加密结果。 (我没有代码。)
在 PHP 中,当通过 mcrypt 尝试对三元组、ecb 函数调用使用相同的密钥时,会出现密钥长度错误,因为系统要求最多 24 个字符。
我需要对密钥做什么,以便 PHP 产生与 Java 相同的加密结果?
【问题讨论】:
-
您必须找出Java中的密钥派生函数是什么。 TripleDES 接受大小最大为 168 位(21 字节)的密钥。那个 32 个字符的密钥看起来实际上是 128 位以十六进制编码的数据。
标签: java php encryption tripledes language-interoperability