我希望有人可以帮助非PHP开发人员提供如何解密Triple DES URL编码字符串的示例(例如,在名为“q”的查询字符串变量中传递给页面)。
密钥为24位,初始化向量为8位。
在C#中,原始数据是:
...
byte[] rawData;
TripleDES tripleDESalg = TripleDES.Create();
rawData = UTF8Encoding.UTF8.GetBytes(message);
ICryptoTransform cTransform = tripleDESalg.CreateEncryptor(key, IV);
byte[] resultArray = cTransform.TransformFinalBlock(rawData, 0, rawData.Length);
tripleDESalg.Clear();
encryptedText = Convert.ToBase64String(resultArray);
...
在PHP页面中,我找不到关于如何将这些步骤放在一起的示例:
答案 0 :(得分:2)
从查询字符串中获取值
$string = $_REQUEST['q'];
网址解码
Base 64 Decode
<强>解密强>
对于第一个参数,您传入密码(List of Ciphers),在您的情况下,密码为MCRYPT_DES
。
其余参数将是密文,密钥,iv等。
PHP手册详尽无遗。使用它。