Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Este artigo fornece observações complementares à documentação de referência para esta API.
A RSACryptoServiceProvider classe é a implementação padrão do RSA.
O RSACryptoServiceProvider suporta tamanhos de chave de 384 bits a 16384 bits em incrementos de 8 bits se você tiver o Microsoft Enhanced Cryptographic Provider instalado. Ele suporta tamanhos de chave de 384 bits a 512 bits em incrementos de 8 bits se você tiver o Microsoft Base Cryptographic Provider instalado.
Os tamanhos de chave válidos dependem do provedor de serviços de criptografia (CSP) usado pela RSACryptoServiceProvider instância. Os CSPs do Windows permitem tamanhos de teclas de 384 a 16384 bits para versões do Windows anteriores ao Windows 8.1 e tamanhos de chave de 512 a 16384 bits para o Windows 8.1. Para obter mais informações, consulte Função CryptGenKey na documentação do Windows.
Interoperação com a API criptográfica da Microsoft (CAPI)
Ao contrário da implementação RSA em CAPI não gerido, a RSACryptoServiceProvider classe inverte a ordem de uma matriz criptografada de bytes após a encriptação e antes da desencriptação. Por padrão, os RSACryptoServiceProvider dados criptografados pela classe não podem ser descriptografados pela função CAPI CryptDecrypt e os dados criptografados pelo método CAPI CryptEncrypt não podem ser descriptografados pela RSACryptoServiceProvider classe.
Se não compensar a inversão de ordem ao interoperar entre APIs, a classe RSACryptoServiceProvider lançará um CryptographicException.
Para interoperar com CAPI, você deve inverter manualmente a ordem dos bytes criptografados antes que os dados criptografados interoperem com outra API. Você pode facilmente inverter a ordem de uma matriz de bytes gerenciada chamando o Array.Reverse método.