DPAPI 内置于 Windows 2000 及更高版本操作系统中,是 Windows 平台上特有的加密接口。使用 DPAPI 加解密数据,是相对可靠的,而且不需要额外储存密钥,使用起来也非常方便。

下面列出代码示例:

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

namespace KeyProtectTest
{
    internal class Program
    {
        static byte[] optionalEntropy = null;

        static byte[] Protect(string originString)
        {
            var originData = Encoding.UTF8.GetBytes(originString);
            var encryptedData = ProtectedData.Protect(originData, optionalEntropy, DataProtectionScope.CurrentUser);
            return encryptedData;
        }

        static string Unprotect(byte[] encryptedData)
        {
            var originData = ProtectedData.Unprotect(encryptedData, optionalEntropy, DataProtectionScope.CurrentUser);
            return Encoding.UTF8.GetString(originData);
        }

        static void Main(string[] args)
        {
            var originString = "Username:Password:Extend";

            var encryptedData = Protect(originString);
            var reversedString = Unprotect(encryptedData);

            Console.WriteLine(reversedString);
            Console.ReadLine();
        }
    }
}
最后修改:2022 年 04 月 08 日
如果觉得我的文章对你有用,请随意赞赏