ranio Ответов: 2

Как сохранить зашифрованную строку с помощью открытого ключа в папку хранилища windows в C#?


Я могу зашифровать строку с помощью открытого ключа, предоставленного с помощью c#. Но я хочу сохранить зашифрованную строку в папке хранилища windows в c#.

Что я уже пробовал:

Основной код выглядит следующим образом:
using System;
using System.Linq;
using System.Numerics;
using System.Text;

class Test
{
    const int p = 61;
    const int q = 53;
    const int n = 3233;
    const int totient = 3120;
    const int e = 991;
    const int d = 1231;

    static void Main()
    {
        var encrypted = Encrypt("Hello, world.", Encoding.UTF8);
        var decrypted = Decrypt(encrypted, Encoding.UTF8);
        Console.WriteLine(decrypted);
    }

    static BigInteger[] Encrypt(string text, Encoding encoding)
    {
        byte[] bytes = encoding.GetBytes(text);
        return bytes.Select(b => BigInteger.ModPow(b, (BigInteger)e, n))
                    .ToArray();
    }

    static string Decrypt(BigInteger[] encrypted, Encoding encoding)
    {
        byte[] bytes = encrypted.Select(bi => (byte) BigInteger.ModPow(bi, d, n))
                                .ToArray();
        return encoding.GetString(bytes);
    }

2 Ответов

Рейтинг:
2
Рейтинг:
1

RickZeeland

В дополнение к ответу Ричарда, вот пример: Как хранить и извлекать учетные данные в windows с помощью C# - Stack Overflow[^]


ranio

Я могу сохранить учетные данные в папке хранилища windows, но я могу увидеть то же самое и отредактировать, перейдя в Панель управления->учетные записи пользователей->диспетчер учетных данных. мне нужно держать его в безопасности

ranio

Каков предел длины пароля при сохранении в папке хранилища Windows с помощью c#?