1

以下は、データをデコードおよび処理するために.jspページに送信されるaspの暗号化の例です。

requestparameter = "somedata";
Key = "someKey";
requestparameter = AES128Bit.encrypt(requestparameter, Key);

<form name="form1" method="post" action="https://someurl/somepage.jsp">
    <input type="hidden" name=" requestparameter " value="<%= requestparameter %>">
    <input type="submit" name="submit" value="Submit">
</form>

私は次のようにしてPHPで同様の暗号化を行おうとしています:-

$requestparameter = "somedata";
$Key = "someKey";
$method = 'aes128';
$requestparameter = openssl_encrypt ($requestparameter, $method, $Key);

<form name="form1" method="post" action="https://someurl/somepage.jsp">
    <input type="hidden" name=" requestparameter " value="<?php echo $requestparameter ?>">
    <input type="submit" name="submit" value="Submit">
</form>

OpenSSLサポートを有効にしました。

ただし、ターゲットページには常に表示されます

デコード中にエラーが発生しました

URLには、次のようなエラーコードが表示されます

pageUrl?errorCode = isDecoded

これは、PHPで暗号化するために使用している暗号化方式が、.jspページで正しくデコードできないことを意味していると思います。私の質問は...

これに相当するASPのPHP暗号化方式/コードは何ですか?

4

1 に答える 1

2

代わりにphpmcrypt関数を使用してみてください。うまくいく可能性があります。Mcryptとopenssl_encryptは、同じ暗号化方式を使用している場合でも、動作が少し異なるため、異なる結果を返します。ASP関数の出力をPHPの2つのメソッドの結果と比較し、どちらかが同じ結果を返すかどうかを確認します。

于 2012-11-13T14:53:29.660 に答える