C#でのRSA暗号化・復号化の実装方法

C#を使用すると、RSA暗号化および復号化を実装するためにRSACryptoServiceProviderクラスを使用できます。

最初に、RSA鍵ペアを生成する必要があります。以下は例です:

using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
    // 生成密钥对
    RSAParameters publicKey = rsa.ExportParameters(false); // 获取公钥
    RSAParameters privateKey = rsa.ExportParameters(true); // 获取私钥

    // TODO: 将公钥和私钥保存到安全地方
}

次に、生成された公開鍵を使用して暗号化し、私用鍵を使用して復号することができます。以下に例を示します:

using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
    // 导入私钥
    rsa.ImportParameters(privateKey);

    // 加密数据
    byte[] dataToEncrypt = Encoding.UTF8.GetBytes("Hello World");
    byte[] encryptedData = rsa.Encrypt(dataToEncrypt, true);
    
    // 使用公钥解密
    rsa.ImportParameters(publicKey);
    byte[] decryptedData = rsa.Decrypt(encryptedData, true);

    // 输出解密后的数据
    string decryptedText = Encoding.UTF8.GetString(decryptedData);
    Console.WriteLine(decryptedText);
}

注意してください、これは単なる簡単な例です。実際の使用では、キーの保管や管理に気を配る必要があり、暗号化データのサイズ制限も考慮する必要があります。

bannerAds