Edit

Share via


DataProtector.ProviderUnprotect(Byte[]) Method

Definition

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

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

Parameters

encryptedData
Byte[]

The data to be unencrypted.

Returns

Byte[]

The unencrypted data.

Examples

The following example shows an implementation of the ProviderUnprotect 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 ProviderUnprotect is called..  This is similar to FileStream
// where access is checked at time of creation, not time of use.
[SecuritySafeCritical]
[DataProtectionPermission(SecurityAction.Assert, UnprotectData = true)]
protected override byte[] ProviderUnprotect(byte[] encryptedData)
{

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

    ProtectedMemory.Unprotect(encryptedData, Scope)
    Return encryptedData

End Function 'ProviderUnprotect

Applies to