Edit

Share via


DataProtector.ProviderProtect(Byte[]) Method

Definition

Specifies the delegate method in the derived class that the Protect(Byte[]) method in the base class calls back into.

protected:
 abstract cli::array <System::Byte> ^ ProviderProtect(cli::array <System::Byte> ^ userData);
protected abstract byte[] ProviderProtect (byte[] userData);
abstract member ProviderProtect : byte[] -> byte[]
Protected MustOverride Function ProviderProtect (userData As Byte()) As Byte()

Parameters

userData
Byte[]

The data to be encrypted.

Returns

Byte[]

A byte array that contains the encrypted data.

Examples

The following example shows an implementation of the ProviderProtect method. It is part of a larger code example for the DataProtector class.

// To allow a service to hand out instances of a DataProtector we demand unrestricted DataProtectionPermission
// in the constructor, but Assert the permission when ProviderProtect is called.  This is similar to FileStream
// where access is checked at time of creation, not time of use.
[SecuritySafeCritical]
[DataProtectionPermission(SecurityAction.Assert, ProtectData = true)]
protected override byte[] ProviderProtect(byte[] userData)
{

    // Delegate to ProtectedData
    ProtectedMemory.Protect(userData, Scope);
    return userData;
}
' To allow a service to hand out instances of a DataProtector we demand unrestricted DataProtectionPermission 
' in the constructor, but Assert the permission when ProviderProtect is called.  This is similar to FileStream
' where access is checked at time of creation, not time of use.
<SecuritySafeCritical(), DataProtectionPermission(SecurityAction.Assert, ProtectData:=True)> _
Protected Overrides Function ProviderProtect(ByVal userData() As Byte) As Byte()

    ' Delegate to ProtectedData
    ProtectedMemory.Protect(userData, Scope)
    Return userData

End Function 'ProviderProtect

Applies to