Je suis nouveau sur le chiffrement. J'ai besoin de mettre en œuvre le chiffrement asymétrique algorithme, qui, je pense, il utilise de clés publique/privée. J'ai commencé à utiliser un échantillon de RSACryptoServiceProvider. il est ok avec les petits de données à chiffrer. Mais lorsque vous l'utilisez sur un nombre relativement plus grand de données "2 lignes", j'obtiens l'exception CryptographicException "Mauvais Longueur"!
//Create a new instance of RSACryptoServiceProvider.
using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
{
//Import the RSA Key information. This only needs
//toinclude the public key information.
//RSA.ImportParameters(RSAKeyInfo);
byte[] keyValue = Convert.FromBase64String(publicKey);
RSA.ImportCspBlob(keyValue);
//Encrypt the passed byte array and specify OAEP padding.
//OAEP padding is only available on Microsoft Windows XP or
//later.
encryptedData = RSA.Encrypt(DataToEncrypt, DoOAEPPadding);
}
Ensuite, j'ai trouvé quelques échantillons de cryptage de données de grande taille (ou fichiers) à l'aide CryptoStream, et d'utiliser uniquement des algorithmes symétriques comme DES ou 3DES, qui ont pour fonction CreateEncryptor de retour ICryptoTransform comme l'un de l'entrée pour le constructeur de CryptoStream!!!
CryptoStream cStream = new CryptoStream(fStream,
new TripleDESCryptoServiceProvider().CreateEncryptor(Key, IV),
CryptoStreamMode.Write);
Quel est le moyen de crypter les fichiers à l'aide de RSA?