System.Security.Cryptography.ProtectedData 11.0.0-rc.1.26425.128
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
Related Packages
- PKCS and CMS algorithms: System.Security.Cryptography.Pkcs
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 |
|---|---|
|
System.Configuration.ConfigurationManager
Provides types that support using XML configuration files (app.config). This package exists only to support migrating existing .NET Framework code that already uses System.Configuration. When writing new code, use another configuration system instead, such as Microsoft.Extensions.Configuration.
|
3 |
|
Azure.Identity
This is the implementation of the Azure SDK Client Library for Azure Identity
|
2 |
|
Microsoft.Identity.Client.Extensions.Msal
This package contains the public client (desktop) caching to Microsoft Authentication Library for .NET (MSAL.NET)
|
2 |
|
System.Configuration.ConfigurationManager
Provides types that support using XML configuration files (app.config). This package exists only to support migrating existing .NET Framework code that already uses System.Configuration. When writing new code, use another configuration system instead, such as Microsoft.Extensions.Configuration.
|
2 |
|
Microsoft.VisualStudio.Web.CodeGeneration.Design
Code Generation tool for ASP.NET Core. Contains the dotnet-aspnet-codegenerator command used for generating controllers and views.
|
2 |
|
Microsoft.VisualStudio.Web.CodeGenerators.Mvc
Code Generators for ASP.NET Core MVC. Contains code generators for MVC Controllers and Views.
|
2 |
|
Microsoft.Build.Utilities.Core
This package contains the Microsoft.Build.Utilities assembly which is used to implement custom MSBuild tasks.
|
2 |
|
Microsoft.CodeAnalysis.CSharp.Features
.NET Compiler Platform ("Roslyn") support for creating C# editing experiences.
More details at https://aka.ms/roslyn-packages
This package was built from the source at https://github.com/dotnet/roslyn/commit/8edf7bcd4f1594c3d68a6a567469f41dbd33dd1b.
|
2 |
|
Microsoft.Build.Tasks.Core
This package contains the Microsoft.Build.Tasks assembly which implements the commonly used tasks of MSBuild.
|
2 |
|
Microsoft.DotNet.Scaffolding.Shared
Contains interfaces for Project Model and messaging for scaffolding.
|
2 |
|
Microsoft.CodeAnalysis.Features
.NET Compiler Platform ("Roslyn") support for creating editing experiences.
More details at https://aka.ms/roslyn-packages
This package was built from the source at https://github.com/dotnet/roslyn/commit/6c4a46a31302167b425d5e0a31ea83c9a9aa1d09.
|
2 |
|
Microsoft.CodeAnalysis.CSharp.Features
.NET Compiler Platform ("Roslyn") support for creating C# editing experiences.
More details at https://aka.ms/roslyn-packages
This package was built from the source at https://github.com/dotnet/roslyn/commit/6c4a46a31302167b425d5e0a31ea83c9a9aa1d09.
|
2 |
|
NuGet.Configuration
NuGet's configuration settings implementation.
|
2 |
|
Microsoft.VisualStudio.Web.CodeGeneration.Templating
Contains Razor based templating host used by ASP.NET Core Code Generators.
|
2 |
|
Microsoft.CodeAnalysis.Features
.NET Compiler Platform ("Roslyn") support for creating editing experiences.
More details at https://aka.ms/roslyn-packages
This package was built from the source at https://github.com/dotnet/roslyn/commit/35d9211b841e7613c1d2f8f5af6d628ace696c4c.
|
2 |
|
Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore
Contains Entity Framework Core Services used by ASP.NET Core Code Generators.
|
1 |
.NET 10.0
- No dependencies.
.NET 11.0
- No dependencies.
.NET Framework 4.6.2
- No dependencies.
.NET Standard 2.0
- System.Memory (>= 4.6.3)