Escape-слэши в MD5 с подписью RSA в PHPPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Escape-слэши в MD5 с подписью RSA в PHP

Сообщение Anonymous »

Я сгенерировал подпись, используя алгоритм MD5withRSA

Код: Выделить всё

        // Load the private key
$privateKeyPath = Yii::getAlias('@webroot').'/bla.key'; //1024-bit
$privateKeyContents = file_get_contents($privateKeyPath);
// Load the private key into the RSA object
$privateKeyPassword = ''; // Replace with your actual password
$privateKey = PublicKeyLoader::load($privateKeyContents, $privateKeyPassword);

// Set the signature mode
$rsa = $privateKey->withHash('md5'); // Use MD5 as the hash algorithm
$rsa = $rsa->withPadding(RSA::SIGNATURE_PKCS1);

$signature = $rsa->sign($string);
$signature = base64_encode($signature);
это создаст такую ​​подпись

Код: Выделить всё

Y3s7c9/ix8uI8aTYA0udUezny2R8+BxzVAA64BFlfW+SaF0nVMB+ULVH6yonG3Da6MJUFeXXg23kgpV4lyj7v81EA4dKQYRWTm/neHmLGLoODwd+lpvWpgn+5N28s79nXPYO02/aOsbXHbNqn66QZPw/o1GTfFU32cT6hvHzxd+ZaZugnEs06jAbOCqH2J/Gb5Lipe9WksOFqSNCbIsS6vOKyKHnviqECh3d7DjF92olkPwg+dRScvC0R8LIZBj29nKiwuS72ONa9E7V495r/oMMHNSpTtCnZausnpNiNBvGx4BoUU/Hc9w8I2ubQil5+eSd1JOJE75uvdXvcBV75A==
когда я отправляю его с помощью php Curl в виде json, вот так.

Код: Выделить всё

$postdata = json_encode([
'Signature'         => $signature,
...
]);
PHP добавляет подобные косые черты

Код: Выделить всё

Y3s7c9\\/ix8uI8aTYA0udUezny2R8+BxzVAA64BFlfW+SaF0nVMB+ULVH6yonG3Da6MJUFeXXg23kgpV4lyj7v81EA4dKQYRWTm\\/neHmLGLoODwd+lpvWpgn+5N28s79nXPYO02\\/aOsbXHbNqn66QZPw\\/o1GTfFU32cT6hvHzxd+ZaZugnEs06jAbOCqH2J\\/Gb5Lipe9WksOFqSNCbIsS6vOKyKHnviqECh3d7DjF92olkPwg+dRScvC0R8LIZBj29nKiwuS72ONa9E7V495r\\/oMMHNSpTtCnZausnpNiNBvGx4BoUU\\/Hc9w8I2ubQil5+eSd1JOJE75uvdXvcBV75A==
однако клиент ожидает \/ вместо \\/, вот так

Код: Выделить всё

Y3s7c9\/ix8uI8aTYA0udUezny2R8+BxzVAA64BFlfW+SaF0nVMB+ULVH6yonG3Da6MJUFeXXg23kgpV4lyj7v81EA4dKQYRWTm\/neHmLGLoODwd+lpvWpgn+5N28s79nXPYO02\/aOsbXHbNqn66QZPw\/o1GTfFU32cT6hvHzxd+ZaZugnEs06jAbOCqH2J\/Gb5Lipe9WksOFqSNCbIsS6vOKyKHnviqECh3d7DjF92olkPwg+dRScvC0R8LIZBj29nKiwuS72ONa9E7V495r\/oMMHNSpTtCnZausnpNiNBvGx4BoUU\/Hc9w8I2ubQil5+eSd1JOJE75uvdXvcBV75A==
как мне заставить PHP сделать это? или клиент должен принять \\/ ?

Подробнее здесь: https://stackoverflow.com/questions/787 ... ure-in-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»