Criptografia algoritmo / biblioteca para .NET 2.0 + C ++
-
11-07-2019 - |
Pergunta
Eu preciso de um padrão, Microsoft entregue, biblioteca que funciona tanto para .NET 2.0 e C ++ criptografia. O que você sugere?
Nós achamos que AES só é oferecido em .NET 3.5 (e disponível em C ++)
Nós achamos que Rijndael é usada em .NET 2.0, mas não estão disponíveis nas bibliotecas padrão C ++.
Se eu estiver errado (chance muito boa), você pode me apontar na direção certa?
Na pior das hipóteses, suponho eu posso chamar o algoritmo Rijndael do .NET usando PInvoke mas eu preferiria ter uma solução nativa.
Solução
Nós com sucesso fazer uma coisa semelhante que eu espero que pode ajudá-lo:
C ++ CryptoAPI
- CryptoAPI é Win32 puro (c / c ++), nativo a todos Microsoft sistema operacional da.
- Enhanced Cryptographic Provider (
MS_ENHANCED_PROV
) - Triple DES (
CALG_3DES
) algoritmo
.NET tripleDES Provider
- TripleDESCryptoServiceProvider no lado da NET.
Notas laterais
- evitar CAPICOM como a peste como os pesadelos de implantação que vêm com ele não são vale a pena.
- ordem Byte no lado do .NET podem entrar em jogo, às vezes. Por exemplo, para consumir uma chave que é gerado no C ++ (CryptoAPI) lado, é necessário reverter a matriz de bytes antes de usá-lo no interior da TripleDESCryptoServiceProvider.
Se você quiser mais detalhes, por favor deixe um comentário e eu posso dar mais. cripto feliz!
Outras dicas
e AES Rijndael são essencialmente o mesmo algoritmo com uma restrição no tamanho do bloco e modo de cifra. Então, enquanto você pode viver com o restrições (que não são onerosas), você pode usá-los alternadamente.
3DES está disponível através CAPICOM. Consulte aqui para informações.
Windows inclui uma biblioteca de criptografia C / C ++ AES, como parte do AES Cryptographic Provider Serviços . É apropriado para utilização a partir de dentro de aplicações nativas C / C ++.