オブジェクトのキーと 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";
Key
andの長さIV
が 16 バイトである限り、どちらの方法でも同じ結果が得られます。ただし、キーが 16 バイトより短い場合でも、最初の方法ではデータをエンコードできますが、2 番目の方法では例外が発生して失敗します。
これは非常に抽象的な質問のように聞こえるかもしれませんがPHP
、最初の方法を使用するサーバーに暗号化されたメッセージを送信するには、長さがわずか 10 バイトのキーを使用する必要があります。
問題は、どのようCreateEncryptor
にキーを展開し、PHP の実装があるかということです。C# コードを変更することはできないため、この動作を PHP で複製する必要があります。