DpapiDataProtector クラス


単純データの保護のメソッドを提供します。Provides simple data protection methods.

public ref class DpapiDataProtector sealed : System::Security::Cryptography::DataProtector
public sealed class DpapiDataProtector : System.Security.Cryptography.DataProtector
type DpapiDataProtector = class
    inherit DataProtector
Public NotInheritable Class DpapiDataProtector
Inherits DataProtector


クラスDpapiDataProtectorは、 ProtectedDataクラスを使用してデータを保護するための構造化された方法を提供します。The DpapiDataProtector class provides a structured way to protect data by using the ProtectedData class. クラスコンストラクターには、保護されたデータを識別するためのパスワードとして機能する目的のパラメーターがあります。The class constructor has purpose parameters that serve like a password to identify the protected data. 3つのパラメーターはすべてハッシュされ、暗号化されたデータ文字列の一部として含まれます。All three parameters are hashed and included as part of the encrypted data string. データの保護を解除するには、目的のパラメーターを把握している必要があります。You must know the purpose parameters to unprotect the data. データを暗号化するために呼び出されるoptionalEntropy メソッドには、データをより安全に暗号化するための修飾された情報を追加できるパラメーターがあります。ProtectedData.ProtectThe ProtectedData.Protect method that is called to encrypt the data has an optionalEntropy parameter that allows you to add qualifying information to encrypt the data more securely. 目的のパラメーターのハッシュは、オプションのエントロピに使用されます。The hash of the purpose parameters is used for optional entropy. データの暗号化を解除するためのキーは必要ないため、目的のデータを慎重に選択することで、データ保護に対して別のレベルのセキュリティが追加されます。Because you do not need a key to decrypt the data, carefully choosing the purpose data adds another level of security to data protection.

ScopeCurrentUser設定を使用すると、データを暗号化したユーザーと一致するログオン資格情報を持つユーザーのみがデータの暗号化を解除できます。If you use a Scope setting of CurrentUser, only a user with logon credentials that match those of the user who encrypted the data can decrypt the data. また、暗号化解除は通常、データが暗号化されたコンピューター上でのみ行うことができます。In addition, decryption usually can be done only on the computer where the data was encrypted. データを暗号化する Windows 関数によって、暗号化を実行するためのセッションキーが作成されます。The Windows function that encrypts the data creates a session key to perform the encryption. セッションキーは、データの暗号化を解除するときに再び派生します。The session key is derived again when the data is to be decrypted. セッションキーを使用してデータを保護する方法の詳細については、「 Windows データ保護」を参照してください。For a detailed description of how data is protected by using session keys, see Windows Data Protection.

データを保護するScopeときにLocalMachineの設定を使用し、目的のパラメーターを慎重に識別しない場合は、そのコンピューター上のその目的を認識する他のアプリケーションがデータにアクセスして保護を解除できます。If you use a Scope setting of LocalMachine when protecting the data and do not carefully identify the purpose parameters, any other application on that computer that knows the purposes can access and unprotect the data.


DpapiDataProtector(String, String, String[])

指定したアプリケーション名、主な目的、および特定の目的を使用して、DpapiDataProtector クラスの新しいインスタンスを作成します。Creates a new instance of the DpapiDataProtector class by using the specified application name, primary purpose, and specific purposes.



アプリケーションの名前を取得します。Gets the name of the application.

(継承元 DataProtector)

暗号化前のテキスト配列にハッシュを付加するかどうかを指定します。Specifies whether the hash is prepended to the text array before encryption.

(継承元 DataProtector)

保護されたデータの主な目的を取得します。Gets the primary purpose for the protected data.

(継承元 DataProtector)

データ保護のスコープを取得または設定します。Gets or sets the scope of the data protection.


保護されたデータの特定の目的を取得します。Gets the specific purposes for the protected data.

(継承元 DataProtector)



指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)

コンストラクターで指定されたプロパティ値のハッシュを作成します。Creates a hash of the property values specified by the constructor.

(継承元 DataProtector)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

データを再び暗号化する必要があるかどうかを判断します。Determines if the data must be re-encrypted.


現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

指定したユーザー データを保護します。Protects the specified user data.

(継承元 DataProtector)

基本クラスの Protect(Byte[]) メソッドがコールバックする、派生クラスのデリゲート メソッドを指定します。Specifies the delegate method in the derived class that the Protect(Byte[]) method in the base class calls back into.

(継承元 DataProtector)

基本クラスの Unprotect(Byte[]) メソッドがコールバックする、派生クラスのデリゲート メソッドを指定します。Specifies the delegate method in the derived class that the Unprotect(Byte[]) method in the base class calls back into.

(継承元 DataProtector)

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

指定された保護されたデータの保護を解除します。Unprotects the specified protected data.

(継承元 DataProtector)