私は暗号化が初めてです。秘密鍵/公開鍵を使用すると思われる非対称暗号化アルゴリズムを実装する必要があります。RSACryptoServiceProvider のサンプルを使い始めました。暗号化する小さなデータで問題ありませんでした。しかし、比較的大きなデータ "2 行" で使用すると、CryptographicException "Bad Length" という例外が発生します。
//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);
}
次に、CryptoStream を使用して大きなデータ (またはファイル) を暗号化するサンプルをいくつか見つけ、DES や 3DES などの対称アルゴリズムのみを使用します。これには、CryptoStream のコンストラクターへの入力の 1 つとして ICryptoTransform を返す関数 CreateEncryptor があります!!!
CryptoStream cStream = new CryptoStream(fStream,
new TripleDESCryptoServiceProvider().CreateEncryptor(Key, IV),
CryptoStreamMode.Write);
RSA を使用してファイルを暗号化する方法は何ですか?