代码之家  ›  专栏  ›  技术社区  ›  bielu000

将rsa参数导出为可读格式

  •  0
  • bielu000  · 技术社区  · 6 年前

    我在xml文件中定义了rsa公钥

    <RSAKeyValue>
        <Modulus>+Rfd2cRvtV2Jez0gPuuEupPbA0wUN6GLYx/CasPe+X8dxG+KXtb/iRgB+mTW/ynxApOR/+GLS7rbcqq6cH76FnZH4l/Ualovd1CtY906EYGQ7ldxmt/1UfB+O4PiE3e4y2BGYshSdjQcJMCAyAwGL2vNmygUB/OPntZtnm1steX62TA1OG0VivsrCG+hDon4QrZN6XLNXHU0zpCDeVuuD5edVwRQCd2kuzNrLXuGjOaSXxfgzy1xgAPVDqKknr9doAJ4pGu3AILmjyWKldNLWzppqAbKFcmUjWUWbouMbaqDfs7JazxCgeY1DMSYkpSd0HOB6zl2u41xlpBSyLg1EGUOnp5KBPQSzOWqgJhbVy59LK1BhnkE4/eHZQjDsj95G9afmQnffk/td1qUf+MuX0Qo9L9Ls9Dlw3VQH52wnLchCBgdzaminFRMN0JbNe8IRf0ZAI87ES1ND0adMBo//QElV0J+YyPBjrGdYavNiI0jvBNq7x6ex405CrW5/J86R2LmdBSoD3knWFKQVszNN8jiA+Rl8at6qVBfoSgISzqLNoaad1B2J6gRJzBu3VHo1pkbFYz21I72orvhnMI9cL9pwtyayLPPC65nkvL2ichKJM2vtRY79z7IBf++Byq5y9L8vIDghEqwaPW3GT3574K7x4Rc4XETFMO4idRscsE=</Modulus>
        <Exponent>AQAB</Exponent>
    </RSAKeyValue>
    

    下面是我从XML文件中获取RSA的方法:

            using (RSA rsa = RSA.Create())
            {
                var xml = await File.ReadAllTextAsync(keyConfig.File);
                RSAExtensions.FromXmlString(rsa, xml);
    
                var paremeters = rsa.ExportParameters(false);
    
                var modulus = paremeters.Modulus;
    
            }
    

    在这一刻,它起作用了。 但我不知道如何把模数转换成字符串?模数是一个字节数组,但是当我试图用编码来转换它时…它返回奇怪的值。这个字节数组中的模是如何表示的?它是什么格式的?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Pancake    6 年前

    该值不能直接转换为字符串,但可以由base64字符串表示:

    var myString = Convert.ToBase64String(modulus);
    

    这将返回一个字符串,稍后可以对其进行解码以获取原始二进制数据。