我在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;
}
此刻它起作用了。 但是我不知道如何将模数转换为例如字符串?模量是一个字节数组,但是当我尝试使用Encoding ....进行转换时,它返回奇怪的值。该字节数组中的模数如何表示?它是什么格式?
答案 0 :(得分:2)
该值不能直接转换为字符串,但是可以用Base64字符串表示:
var myString = Convert.ToBase64String(modulus);
这将返回一个字符串,以后可以对其进行解码以获取原始二进制数据。