NuGet ยท nuget

system.security.cryptography.protecteddata

Cached from upstream

Install

Install-Kommandos

dotnet add package system.security.cryptography.protecteddata --version 8.0.0
<PackageReference Include="system.security.cryptography.protecteddata" Version="8.0.0" />
paket add system.security.cryptography.protecteddata --version 8.0.0
Install-Package system.security.cryptography.protecteddata -Version 8.0.0

README

Vorschau

About

<!-- A description of the package and where one can find more documentation -->

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

<!-- The key features of this package -->

  • 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

<!-- A compelling example on how to use this package with code, as well as any specific guidelines for when to use the package -->

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 types provided in this library -->

The main type provided by this library is:

  • System.Security.Cryptography.ProtectedData

Additional Documentation

<!-- Links to further documentation. Remove conceptual documentation if not available for the library. -->

<!-- The related packages associated with this package -->

Feedback & Contributing

<!-- How to provide feedback on this package and contribute to it -->

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