System.Security.Cryptography.ProtectedData 10.0.0-rc.1.25451.107

About

System.Security.Cryptography.ProtectedData offers a simplified interface for utilizing Microsoft Windows DPAPI's CryptProtectData and CryptUnprotectData functions.

Note: Since it relies on Windows DPAPI, this package is only supported on Windows platforms. For more complex cryptographic operations or cross-platform support, consider the System.Security.Cryptography namespace.

Key Features

  • Built upon the robust and secure Windows Data Protection API (DPAPI).
  • Data can be protected either for current process or for any process on the machine.
  • Scope of protection can be defined either to the current user or the local machine.

How to Use

Utilizing this package is quite simple, and it mainly revolves around two methods: Protect and Unprotect.

Here, originalData is the data you want to protect, optionalEntropy is an additional byte array used to increase encryption complexity, and DataProtectionScope specifies whether the data protection should apply to the current user or the machine.

using System.Security.Cryptography;
using System.Text;

byte[] originalData = Encoding.UTF8.GetBytes("This is a secret");
byte[] optionalEntropy = new byte[64];
Random.Shared.NextBytes(optionalEntropy);

// To protect:
byte[] encryptedData = ProtectedData.Protect(
    originalData,
    optionalEntropy,
    DataProtectionScope.CurrentUser);

// To unprotect:
byte[] decryptedData = ProtectedData.Unprotect(
    encryptedData,
    optionalEntropy,
    DataProtectionScope.CurrentUser);

Main Types

The main type provided by this library is:

  • System.Security.Cryptography.ProtectedData

Additional Documentation

Feedback & Contributing

System.Security.Cryptography.ProtectedData is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.

Showing the top 20 packages that depend on System.Security.Cryptography.ProtectedData.

Packages Downloads
Microsoft.Identity.Client.Extensions.Msal
This package contains extensions to Microsoft Authentication Library for .NET (MSAL.NET)
101
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET as well as .NET Standard.
100
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET as well as .NET Standard.
111
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard. When using NuGet 3.x this package requires at least version 3.4.
96
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard. When using NuGet 3.x this package requires at least version 3.4.
98
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard. When using NuGet 3.x this package requires at least version 3.4.
110
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard. When using NuGet 3.x this package requires at least version 3.4.
111
System.Configuration.ConfigurationManager
Provides types that support using configuration files. Commonly Used Types: System.Configuration.Configuration System.Configuration.ConfigurationManager
96
System.Configuration.ConfigurationManager
Provides types that support using configuration files. Commonly Used Types: System.Configuration.Configuration System.Configuration.ConfigurationManager
97
System.Configuration.ConfigurationManager
Provides types that support using configuration files. Commonly Used Types: System.Configuration.Configuration System.Configuration.ConfigurationManager
98
System.Configuration.ConfigurationManager
Provides types that support using configuration files. Commonly Used Types: System.Configuration.Configuration System.Configuration.ConfigurationManager
103
System.Configuration.ConfigurationManager
Provides types that support using configuration files. Commonly Used Types: System.Configuration.Configuration System.Configuration.ConfigurationManager
120
System.Configuration.ConfigurationManager
Provides types that support using configuration files. Commonly Used Types: System.Configuration.Configuration System.Configuration.ConfigurationManager 7e3dbdb95b30650eabade0ac73a10b22d4dbe8b3 When using NuGet 3.x this package requires at least version 3.4.
99
System.Configuration.ConfigurationManager
Provides types that support using configuration files. Commonly Used Types: System.Configuration.Configuration System.Configuration.ConfigurationManager When using NuGet 3.x this package requires at least version 3.4.
103
System.Configuration.ConfigurationManager
Provides types that support using configuration files. Commonly Used Types: System.Configuration.Configuration System.Configuration.ConfigurationManager When using NuGet 3.x this package requires at least version 3.4.
110
System.Configuration.ConfigurationManager
Provides types that support using configuration files. Commonly Used Types: System.Configuration.Configuration System.Configuration.ConfigurationManager When using NuGet 3.x this package requires at least version 3.4.
113
System.Configuration.ConfigurationManager
Provides types that support using configuration files. Commonly Used Types: System.Configuration.Configuration System.Configuration.ConfigurationManager When using NuGet 3.x this package requires at least version 3.4.
23,778

https://go.microsoft.com/fwlink/?LinkID=799421

.NET Framework 4.6.2

  • No dependencies.

.NET 8.0

  • No dependencies.

.NET 9.0

  • No dependencies.

.NET 10.0

  • No dependencies.

.NET Standard 2.0

Version Downloads Last updated
10.0.0 8 11/15/2025
10.0.0-rc.2.25502.107 12 10/22/2025
10.0.0-rc.1.25451.107 10 09/17/2025
10.0.0-preview.7.25380.108 9 09/20/2025
10.0.0-preview.6.25358.103 9 09/28/2025
10.0.0-preview.5.25277.114 10 09/20/2025
10.0.0-preview.4.25258.110 11 05/19/2025
10.0.0-preview.3.25171.5 20 04/11/2025
10.0.0-preview.2.25163.2 29 03/19/2025
10.0.0-preview.1.25080.5 32 02/28/2025
9.0.11 7 11/15/2025
9.0.10 8 10/21/2025
9.0.9 12 09/17/2025
9.0.8 9 09/21/2025
9.0.7 11 09/18/2025
9.0.6 11 09/18/2025
9.0.5 12 05/19/2025
9.0.4 29 04/09/2025
9.0.3 21 03/16/2025
9.0.2 23 02/28/2025
9.0.1 26 01/18/2025
9.0.0 27 11/16/2024
9.0.0-rc.2.24473.5 31 10/15/2024
9.0.0-rc.1.24431.7 25 09/14/2024
9.0.0-preview.7.24405.7 39 08/14/2024
9.0.0-preview.6.24327.7 37 07/10/2024
9.0.0-preview.5.24306.7 35 06/14/2024
9.0.0-preview.4.24266.19 34 05/22/2024
9.0.0-preview.3.24172.9 27 04/16/2024
9.0.0-preview.2.24128.5 39 03/13/2024
9.0.0-preview.1.24080.9 29 02/25/2024
8.0.0 54 11/17/2023
8.0.0-rc.2.23479.6 39 10/19/2023
8.0.0-rc.1.23419.4 43 09/21/2023
8.0.0-preview.7.23375.6 46 09/16/2023
8.0.0-preview.6.23329.7 48 09/05/2023
8.0.0-preview.5.23280.8 38 07/03/2023
8.0.0-preview.4.23259.5 38 05/18/2023
8.0.0-preview.3.23174.8 58 04/15/2023
8.0.0-preview.2.23128.3 70 03/25/2023
8.0.0-preview.1.23110.8 64 03/10/2023
7.0.1 65 03/31/2023
7.0.0 71 11/29/2022
7.0.0-rc.2.22472.3 87 10/12/2022
7.0.0-rc.1.22426.10 113 09/26/2022
7.0.0-preview.7.22375.6 123 08/18/2022
7.0.0-preview.6.22324.4 111 09/24/2022
7.0.0-preview.5.22301.12 114 09/24/2022
7.0.0-preview.4.22229.4 119 07/01/2022
7.0.0-preview.3.22175.4 82 09/23/2022
7.0.0-preview.2.22152.2 75 09/24/2022
7.0.0-preview.1.22076.8 76 09/24/2022
6.0.2-mauipre.1.22102.15 66 09/23/2022
6.0.2-mauipre.1.22054.8 71 09/23/2022
6.0.0 99 09/22/2022
6.0.0-rc.2.21480.5 78 09/23/2022
6.0.0-rc.1.21451.13 52 09/24/2022
6.0.0-preview.7.21377.19 141 06/29/2022
6.0.0-preview.6.21352.12 78 09/24/2022
6.0.0-preview.5.21301.5 126 09/23/2022
6.0.0-preview.4.21253.7 109 09/22/2022
6.0.0-preview.3.21201.4 60 09/24/2022
6.0.0-preview.2.21154.6 123 09/24/2022
6.0.0-preview.1.21102.12 89 09/23/2022
5.0.0 72 09/24/2022
5.0.0-rc.2.20475.5 85 09/22/2022
5.0.0-rc.1.20451.14 129 09/22/2022
5.0.0-preview.8.20407.11 104 09/24/2022
5.0.0-preview.7.20364.11 76 09/23/2022
5.0.0-preview.6.20305.6 119 09/22/2022
5.0.0-preview.5.20278.1 119 09/24/2022
5.0.0-preview.4.20251.6 71 09/22/2022
5.0.0-preview.3.20214.6 59 09/24/2022
5.0.0-preview.2.20160.6 69 09/22/2022
5.0.0-preview.1.20120.5 122 09/24/2022
4.7.0 23,738 06/27/2022
4.7.0-preview3.19551.4 110 09/21/2022
4.7.0-preview2.19523.17 73 09/22/2022
4.7.0-preview1.19504.10 84 09/23/2022
4.6.0 36 09/23/2022
4.6.0-rc1.19456.4 75 09/23/2022
4.6.0-preview9.19421.4 121 09/24/2022
4.6.0-preview9.19416.11 52 09/22/2022
4.6.0-preview8.19405.3 112 09/24/2022
4.6.0-preview7.19362.9 54 09/24/2022
4.6.0-preview6.19303.8 84 09/24/2022
4.6.0-preview6.19264.9 126 09/23/2022
4.6.0-preview5.19224.8 118 09/25/2022
4.6.0-preview4.19212.13 118 09/22/2022
4.6.0-preview3.19128.7 58 09/24/2022
4.6.0-preview.19073.11 81 09/22/2022
4.6.0-preview.18571.3 67 09/24/2022
4.5.0 112 06/27/2022
4.5.0-rc1 124 09/22/2022
4.5.0-preview2-26406-04 67 09/24/2022
4.5.0-preview1-26216-02 81 09/24/2022
4.5.0-preview1-25914-04 72 09/23/2022
4.4.0 92 06/27/2022
4.4.0-preview2-25405-01 124 09/23/2022
4.4.0-preview1-25305-02 112 09/25/2022
4.3.0 135 06/27/2022
4.3.0-preview1-24530-04 107 09/24/2022
4.0.0 111 09/24/2022