2

私は Windows Phone 開発の初心者です。WP7 で AES/ECB/PKCS7Padding アルゴリズムを使用するにはどうすればよいですか?

グーグルで検索しているうちに、バウンシー キャッスルについて多くの提案が寄せられました。しかし、この弾む城についてはよくわかりませんでした。これはアルゴリズムですか?

サーバーに送信するためにパスワードを暗号化/復号化する必要があります。他のすべての電話 (Android、iPhone、Blackberry) では、これに AES/ECB/PKCS7Padding アルゴリズムを使用します。それらはすべて、入力に対して同じ暗号化/復号化結果を提供します。しかし、Windows Phone では、暗号化に AesManaged クラスを使用しました。ただし、暗号化された結果は異なります。AESManaged クラスに関するmsdn ドキュメント ( MSDN ドキュメント) では、「暗号モードは常に CBC であり、パディング モードは常に PKCS7 です」と述べています。他の電話と比較して、ここで暗号化された結果が異なるのはそのためだと思います。

それが問題ですか?その場合、WP7 で AES/ECB/PKCS7Padding アルゴリズムを使用するにはどうすればよいですか?

AesManaged クラスで暗号モードを設定するためのプロパティが表示されません。

ありがとう。

4

1 に答える 1

3

Windows Phone で AES/ECB/PKCS7Padding を使用する場合は、Bouncy Castle ライブラリを使用する必要があります。

このライブラリは Windows Phone 用に正確に作成されたものではなく、Bouncy Castle サイトの dll を使用することはできません。代わりに、こちらから WP7 に移植されたライブラリをダウンロードする必要があります。(記事の下部にある 2 つのリンク)

これで、 Org.BouncyCastle.Crypto.IBufferedCipher タイプを使用できます。

cipher = CipherUtilities.GetCipher("AES/ECB/PKCS7"); // or PKCS7PADDING, no matter
cipher.Init(false, new KeyParameter(key)); // or something else

次に、この変数を使用する必要があります。

はい、

「暗号モードは常に CBC であり、パディング モードは常に PKCS7 です」

そのため、間違った結果が得られます。

于 2012-07-31T11:16:11.993 に答える