大きなビデオファイルをダウンロードしてハードディスクに保存する必要があります。 次に、このビデオファイルをXAMLメディア要素を使用して再生する必要があります。 ファイルは、AES 256アルゴリズムと暗号化キーを使用して暗号化する必要があります。暗号化されていないデータは、いつでもハードドライブに書き込まれてはなりません。WinRTストリームの暗号化
など。暗号化されていないデータをファイルに変換したり、その逆の変換を行うストリームを作成できます。
WinRTにはバッファを暗号化できるAPIがあります。しかし、ファイルが大きい場合、これは動作しません。 WinRTにはストリームを暗号化するAPIがありますDataProtectionProvider。しかし、魔法のprotectionDescriptorパラメータがあり、アルゴリズムとキーを指定する方法に関する情報は見つかりませんでした。
私ができることは、C#でIRandomAccessStreamを実装することでした。それは動作しますが、それは遅いです。
WinRTプラットフォームに関連しない回答は提供しないでください。他の助けがあれば幸いです。
ここ
「C#でIRandomAccessStreamを実装する」という意味を明確にしてください。直接ストリームで対称暗号化を使用する方法を見つけましたか?チャンクでストリームを読み取り、チャンクでチャンクを暗号化し、その結果をデスティネーションストリームに書き込むメソッドを使用します。これは非常に大きなファイルでも機能し、遅すぎるものではありません。 –
私の実装でこの問題を解決しました。これは、読み取り操作と書き込み操作の両方で高速に機能します。 –
ソースコードを共有することはできません。非常に良い解決策のように思えます。少なくとも問題をどのように解決したのでしょうか? –