ProtectedMemory クラス
アセンブリ: System.Security (system.security.dll 内)


このクラスには、Microsoft Windows XP 以降のオペレーティング システムで利用できるデータ保護 API (DPAPI) へのアクセス機能が用意されています。これは、オペレーティング システムにより提供されるサービスです。追加のライブラリは必要ありません。メモリ内の重要情報の暗号化を実現します。
このクラスはアンマネージ DPAPI の 2 つのラッパー、Protect および Unprotect で構成されます。この 2 つのメソッドを使用して、メモリ内のデータの暗号化と復号化を行うことができます。

using System; using System.Security.Cryptography; public class MemoryProtectionSample { // Create aditional entropy for use with the Protect method. static byte [] s_aditionalEntropy = { 9, 8, 7, 6, 5 }; public static void Main() { // Create the original data to be encrypted (The data length should be a multiple of 16). byte [] secret = { 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4 }; // Encrypt the data in memory. The result is stored in the same same array as the original data. ProtectedMemory.Protect( secret, MemoryProtectionScope.SameLogon ); // Decrypt the data in memory and store in the original array. ProtectedMemory.Unprotect( secret, MemoryProtectionScope.SameLogon ); } }
#using <System.Security.dll> using namespace System; using namespace System::Security::Cryptography; int main() { // Create the original data to be encrypted (The data length should be a multiple of 16). array<Byte>^secret = {1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4}; // Encrypt the data in memory. The result is stored in the same same array as the original data. ProtectedMemory::Protect( secret, MemoryProtectionScope::SameLogon ); // Decrypt the data in memory and store in the original array. ProtectedMemory::Unprotect( secret, MemoryProtectionScope::SameLogon ); }
import System.*; import System.Security.Cryptography.*; public class MemoryProtectionSample { // Create aditional entropy for use with the Protect method. private static ubyte sAditionalEntropy[] = { 9, 8, 7, 6, 5 }; public static void main(String args[]) { // Create the original data to be encrypted (The data length should // be a multiple of 16). ubyte secret[] = { 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4 }; // Encrypt the data in memory. The result is stored in the same same // array as the original data. ProtectedMemory.Protect(secret, MemoryProtectionScope.SameLogon); // Decrypt the data in memory and store in the original array. ProtectedMemory.Unprotect(secret, MemoryProtectionScope.SameLogon); } //main } //MemoryProtectionSample

System.Security.Cryptography.ProtectedMemory


Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ProtectedMemory メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | Protect | userData パラメータを保護し、バイト配列を返します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
![]() | Unprotect | Protect メソッドを使用して保護されたメモリ内データの保護を解除します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

ProtectedMemory メンバ
メモリの保護と保護解除のためのメソッドを提供します。このクラスは継承できません。
ProtectedMemory データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | Protect | userData パラメータを保護し、バイト配列を返します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
![]() | Unprotect | Protect メソッドを使用して保護されたメモリ内データの保護を解除します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

Weblioに収録されているすべての辞書からProtectedMemoryを検索する場合は、下記のリンクをクリックしてください。

- ProtectedMemoryのページへのリンク