У меня проблема (на стороне сервера), когда я шифрую данные с клиента и отправляю на веб-сервер с помощью метода Post.
Я использую этот метод для шифрования с клиента 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));
}
Когда я отправляю зашифрованную строку в PHP, если в этой строке есть +, php читает ее с пустым пространством.Если вместо этого нет «+», у меня нет проблем.
Например, это зашифрованная строка 4aY + na42iaPg + aep == в C #, когда я читаю в php, это 4aY a42iaPg aep == такесли я расшифровываю, если не совпадает с правильным словом.
я использую этот скрипт, чтобы начать чтение метода post
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 +
Есть ли способ исправить это?