Question

J'ai besoin d'une bibliothèque de chiffrement standard fournie par Microsoft qui fonctionne à la fois pour .NET 2.0 et C ++. Que suggéreriez-vous?

Nous constatons qu'AES est uniquement disponible dans .NET 3.5 (et disponible en C ++)

Nous constatons que Rijndael est utilisé dans .NET 2.0 mais non disponible dans les bibliothèques C ++ standard.

Si je me trompe (très bonne chance), pouvez-vous me diriger dans la bonne direction?

Dans le pire des cas, je suppose que je peux appeler l'algorithme Rijndael à partir de .NET à l'aide de PInvoke, mais je préférerais une solution native.

Était-ce utile?

La solution

Nous avons réussi à faire une chose similaire qui, je l'espère, pourrait vous aider:

CryptoAPI C ++

Fournisseur .NET TripleDes

Notes annexes

  • Nous évitons CAPICOM comme la peste, car les cauchemars de déploiement qui l'accompagnent ne valent pas la peine.
  • L'ordre des octets du côté .NET peut parfois entrer en jeu. Par exemple, pour utiliser une clé générée du côté C ++ (CryptoAPI), vous devez inverser le tableau d'octets avant de l'utiliser dans TripleDESCryptoServiceProvider.

Si vous souhaitez plus de détails s'il vous plaît laissez un commentaire et je peux donner plus. Bonne crypto!

Autres conseils

AES et Rijndael sont essentiellement le même algorithme avec une restriction sur la taille de bloc et le mode de chiffrement. Donc, tant que vous pouvez vivre avec le restrictions (qui ne sont pas onéreuses), vous pouvez les utiliser indifféremment.

3DES est disponible via Capicom. Voir ici pour plus d'informations.

Windows inclut une bibliothèque de chiffrement C / C ++ AES dans le cadre du Fournisseur de services cryptographiques AES . Il convient à une utilisation à partir d'applications C / C ++ natives.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top