Вопрос

Мне нужна стандартная библиотека шифрования, поставляемая Microsoft, которая работает как для .NET 2.0, так и для C++.Что ты предлагаешь?

Мы обнаружили, что AES предлагается только в .NET 3.5 (и доступен на C++).

Мы обнаружили, что Rijndael используется в .NET 2.0, но недоступен в стандартных библиотеках C++.

Если я ошибаюсь (очень хороший шанс), можете ли вы указать мне правильное направление?

В худшем случае, я полагаю, я могу вызвать алгоритм Rijndael из .NET с помощью PInvoke, но я бы предпочел иметь собственное решение.

Это было полезно?

Решение

Мы успешно делаем нечто подобное, и я надеюсь, что это поможет вам:

C++ КриптоAPI

Поставщик .NET TripleDes

Дополнительные примечания

  • Мы избегайте КАПИКОМ как чума, поскольку сопровождающие ее кошмары развертывания не стоят затраченных усилий.
  • Порядок байтов на стороне .NET может иногда иметь значение.Например, чтобы использовать ключ, сгенерированный на стороне C++ (CryptoAPI), вам необходимо перевернуть массив байтов перед его использованием в TripleDESCryptoServiceProvider.

Если вам нужна более подробная информация, оставьте комментарий, и я могу рассказать больше.Удачной крипты!

Другие советы

AES и Rijndael - это по сути один и тот же алгоритм с ограничением на размер блока и режим шифрования. Так что, пока вы можете жить с ограничения (которые не являются обременительными), вы можете использовать их взаимозаменяемо.

3DES доступен через Capicom. См. здесь для получения дополнительной информации.

Windows включает библиотеку шифрования AES C / C ++ как часть Провайдер криптографических услуг AES . Он подходит для использования из собственных приложений C / C ++.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top