| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // Copyright (c) .NET Foundation. All rights reserved.
- // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
- using System;
- using System.IO;
- using System.Runtime.InteropServices;
- using Microsoft.AspNetCore.DataProtection;
- using Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel;
- namespace NonDISample
- {
- public class Program
- {
- public static void Main(string[] args)
- {
- var keysFolder = Path.Combine(Directory.GetCurrentDirectory(), "temp-keys");
- // instantiate the data protection system at this folder
- var dataProtectionProvider = DataProtectionProvider.Create(
- new DirectoryInfo(keysFolder),
- configuration =>
- {
- configuration.SetApplicationName("my app name");
- if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
- {
- configuration.ProtectKeysWithDpapi();
- }
- });
- var protector = dataProtectionProvider.CreateProtector("Program.No-DI");
- // protect the payload
- var protectedPayload = protector.Protect("Hello World!");
- Console.WriteLine($"Protect returned: {protectedPayload}");
- // unprotect the payload
- var unprotectedPayload = protector.Unprotect(protectedPayload);
- Console.WriteLine($"Unprotect returned: {unprotectedPayload}");
- }
- }
- }
|