ProtectedData.Protect Method

Encrypts the data in a specified byte array and returns a byte array that contains the encrypted data.

Namespace:  System.Security.Cryptography
Assembly:  mscorlib.Extensions (in mscorlib.Extensions.dll)

<SecuritySafeCriticalAttribute> _
Public Shared Function Protect ( _
	userData As Byte(), _
	optionalEntropy As Byte() _
) As Byte()


Type: System.Byte()
A byte array that contains data to encrypt.
Type: System.Byte()
An optional additional byte array used to increase the complexity of the encryption, or Nothing for no additional complexity.

Return Value

Type: System.Byte()
A byte array representing the encrypted data.


The userData parameter is Nothing.


The encryption failed.


The operating system does not support this method.


The system ran out of memory while encrypting the data.

This method can be used to encrypt data such as passwords, keys, or connection strings. The optionalEntropy parameter enables you to add data to increase the complexity of the encryption; specify Nothing for no additional complexity. If provided, this information must also be used when decrypting the data using the Unprotect method.


If you use this method during impersonation, you may receive the following error: "Key not valid for use in specified state." To prevent this error, load the profile of the user you want to impersonate before calling the method.

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions