当我从客户端加密数据并使用Post方法发送到Web服务器时,出现问题(服务器端)。带3DES加密的PHP空格加密
我用这个方法从C#客户
public string Encrypt3DES(string strString)
{
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = Encoding.GetBytes(this.Key);
DES.Mode = CipherMode.ECB;
DES.Padding = PaddingMode.Zeros;
ICryptoTransform DESEncrypt = DES.CreateEncryptor();
byte[] Buffer = encoding.GetBytes(strString);
return Convert.ToBase64String(DESEncrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
}
到加密当我送ecrypted字符串到PHP是否有在该字符串+,PHP有一个空格阅读。如果没有任何'+'我没有任何问题。
例如,这是一个加密的字符串4aY + na42iaPg + aep ==在C#中,当我在php中读取它的 4aY a42iaPg aep ==所以如果我解密,如果不匹配正确的单词。
我使用这个脚本开始阅读方法后
if (isset($_POST['doConvalid'])){
if ($_POST['doConvalid']=='Convalid')
{
foreach($_POST as $keys => $values) {
$data[$keys] =($values); // post variables are filtered
}
$cheking=$data['check'];
echo("Show checking = $checking"); //Here i read string with blank space instead +
有没有办法解决呢?