英語で読む

次の方法で共有


ProtectedMemory クラス

定義

メモリの保護と保護解除のためのメソッドを提供します。 このクラスは継承できません。

public sealed class ProtectedMemory
public static class ProtectedMemory
継承
ProtectedMemory

次の例は、データ保護の使用方法を示しています。

using System;
using System.Security.Cryptography;

public class MemoryProtectionSample
{

    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 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 );
    }
}

注釈

このクラスは、Windows XP 以降のオペレーティング システムで使用できる Data Protection API (DPAPI) へのアクセスを提供します。 これはオペレーティング システムによって提供されるサービスであり、追加のライブラリは必要ありません。 これにより、メモリ内の機密データの暗号化が提供されます。

クラスは、 ProtectUnprotectアンマネージド DPAPI と の 2 つのラッパーで構成されます。 これら 2 つの方法を使用して、メモリ内のデータの暗号化と暗号化解除を行うことができます。

メソッド

Protect(Byte[], MemoryProtectionScope)

指定されたデータを保護します。

Unprotect(Byte[], MemoryProtectionScope)

Protect(Byte[], MemoryProtectionScope) メソッドを使用して保護されたメモリ内データの保護を解除します。

適用対象

製品 バージョン
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1