2

オブジェクトのキーと IV を指定するには、2 つの方法がありRijndaelManagedます。1つは、次のように呼び出すことCreateEncryptorです。

var encryptor = rij.CreateEncryptor(Encoding.UTF8.GetBytes(key), Encoding.UTF8.GetBytes(iv)));

KeyおよびIVプロパティを直接設定することによる別のもの:

rij.Key = "1111222233334444";
rij.IV = "1111222233334444";

Keyandの長さIVが 16 バイトである限り、どちらの方法でも同じ結果が得られます。ただし、キーが 16 バイトより短い場合でも、最初の方法ではデータをエンコードできますが、2 番目の方法では例外が発生して失敗します。

これは非常に抽象的な質問のように聞こえるかもしれませんがPHP、最初の方法を使用するサーバーに暗号化されたメッセージを送信するには、長さがわずか 10 バイトのキーを使用する必要があります。

問題は、どのようCreateEncryptorにキーを展開し、PHP の実装があるかということです。C# コードを変更することはできないため、この動作を PHP で複製する必要があります。

4

1 に答える 1