AES Шифрование и дешифрование в пакете nuget - PullRequest
0 голосов
/ 01 октября 2018

Мне нужно создать пакет NuGet, который обеспечивает шифрование и дешифрование для простого текста.Таким образом, я создал пример класса, который имеет 2 метода для шифрования и дешифрования и жестко закодировал входную строку и сгенерировал ключ и IV, используя генератор случайных чисел.

Мой вопрос: если я создаю пакет с этим файлом класса, как клиентское приложение может узнать ключ?

Клиентское приложение отправит входную строку, и мой пакет NuGet должен зашифровать его, чтобы отправить кодированную строку base64 клиентскому приложению, и клиентское приложение должно иметь тот же ключ для дешифрования этого текста.Я немного запутался в том, как нужно делиться ключом.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 01 октября 2018

Вероятно, неплохо бы не жестко кодировать ключ, а разрешить его настройку.Вы можете добавить его в качестве параметра для шифрования и дешифрования методов.Кроме того, вы можете добавить метод, который генерирует ключ с использованием Secure PRNG.

Будьте очень осторожны с генерацией.Обычного генератора случайных чисел недостаточно для обеспечения безопасности, поскольку он слишком предсказуем.Из вашего вопроса не сразу понятно, что именно вы используете, но вы можете прочитать более подробную информацию в этом вопросе .

После генерации ключа хорошей идеей будет предоставить еговсе ваше приложение через конфигурацию или что-то в этом роде..NET имеет очень неуклюжий способ настройки безопасного хранилища внутри web.config, но это возможно.В качестве альтернативы вы можете найти безопасное хранилище по вашему выбору, например, Azure KeyVault или что-то подобное.

...