You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中将单行格式的RSA私钥转换为标准格式?

可以通过C#实现单行RSA私钥到标准PEM格式的转换

直接通过字符串处理即可完成格式转换,核心是提取Base64内容并按每行64字符拆分,再拼接标准的PEM头部和尾部。以下是具体实现代码:

转换方法实现

public static string ConvertToStandardRsaPrivateKey(string singleLineKey)
{
    const string pemHeader = "-----BEGIN RSA PRIVATE KEY-----";
    const string pemFooter = "-----END RSA PRIVATE KEY-----";

    // 清理输入:移除多余引号和空格
    string cleanedKey = singleLineKey.Trim().Trim('"');

    // 提取Base64主体内容,兼容头部少一个'-'的异常情况
    string base64Content = cleanedKey.Replace(pemHeader, "")
                                     .Replace(pemFooter, "")
                                     .Replace("-----BEGIN RSA PRIVATE KEY----", "");

    // 按每行64字符拆分Base64字符串
    var lineList = new List<string>();
    for (int i = 0; i < base64Content.Length; i += 64)
    {
        int lineLength = Math.Min(64, base64Content.Length - i);
        lineList.Add(base64Content.Substring(i, lineLength));
    }

    // 拼接成标准PEM格式
    return $"{pemHeader}\n{string.Join("\n", lineList)}\n{pemFooter}";
}

使用示例

// 你的单行RSA私钥
string singleLineRsa = "-----BEGIN RSA PRIVATE KEY----MIICXAIBAAKBgQCuMhJ8DYGiSzLw88PvHgMGCJOT+og1i0dfcsmo7jBspwuM+sBqFVY7SD4ojbt2AYBYfPaxIMEb/7lMRPenWG1RAajp3wYvyCKLFq568hLVuyXesEK0gEX12niKkrFQewDGdNzomUUgAIK5h70423WREl+sqlshuOahsvkPjd+8DQIDAQABAoGAF0y/SDSOSGUClVQluxAqm13+T2bNXUwZ6dxyuNPTSlU1qE/J+OaNuDQ7jDUZA/nDbxKX9K1K5zHXWSpIbevYAysk+h5aPyE1mdfWcrSANgwrHe9DLCTpUaQVJgnGJ1zd+OzckqtelGUXPeyeiohVJcnZYz1cIjlaHX2l7jHOL4ECQQDlN1MmUqYVh2vghpTBEBCZHwii/SQFTwPGhaB5k6eRuiESrLfWO4bD9Woor2OakXpEv4GyOCm2aA8VC52oWWpxAkEAwozi9nxboUvGGR5r28R93V0ozd4GdgQDRGdvEKQjmHWcmRsee2S4nGjGlcSsV7zV8RpiBpTgIteemOvfXCOhXQJAYZ9WgpPguHqcr1uiLzewWgalnwVBOiGU8hAncKA6Vg5314RIJ63ij8MOG5XXThV3haAqlMTmvxFCmyv/UZwDgQJAZmsOzJ35Cve+CNk4BNDzRcbWRVJd6mEAa1FcadFPH+LCluNs7569hTGvYYbRB7tUkYHHGxniyNTkHDMIOhRTzQJBAIpgo2taR/BZR9kPYgtI4RRkHG2dykMWL4++X6RkG0V+xMuwnarItpdp2Q0CgciOFFv4r1avv99Z836a4YgsJQw=";

// 转换为标准格式
string standardRsaKey = ConvertToStandardRsaPrivateKey(singleLineRsa);

// 输出结果
Console.WriteLine(standardRsaKey);

这段代码会输出符合要求的标准PEM格式密钥,能够被大多数支持RSA的库正常识别。

内容的提问来源于stack exchange,提问作者dodo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 20:15:39