Генерация случайных байтов для ключа TripleDES C #
Вопрос
Мне нужно сгенерировать массив байтов для шифрования TripleDES.Я не хочу использовать .generateKey()
, потому что мне нужно знать байты в ключе, чтобы передать их другому приложению.
Спасибо за ответы, но я забыл упомянуть одну вещь: байты должны быть нечетной четности.В противном случае я не смогу сгенерировать из них ключ TripleDES.Я не так хорошо знаком с нечетной четностью, поэтому я думаю, что должен создать байтовую проверку, имеет ли она нечетную четность или нет;затем, если он помещает его в массив, иначе нет.
Решение
Если вам нужно обеспечить нечетную четность, вы должны вычислить ее самостоятельно.Это должно делать:
родовое словоДругие советы
Как насчет
родовое слово Обратите внимание, что RandomNumberGenerator
подходит длякриптовалюта работает (с точки зрения достаточно безопасных, трудно предсказуемых случайных данных), в то время как System.Random
- нет.
Но ... в чем проблема:
родовое словоТам вы получите свой ключ, используемый шифровальщиком и дешифратором, созданным с помощью этого экземпляра.
Обратите внимание, что в других ответах отсутствует TripleDES.IsWeakKey
..
Метод GetBytes возвращаеткриптографически стойкая последовательность значений:
родовое словоА как насчет общего кода метки
Дополнительная информация здесь .