Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# RSA.FromXmlString';此平台不支持操作;_C#_Asp.net - Fatal编程技术网

C# RSA.FromXmlString';此平台不支持操作;

C# RSA.FromXmlString';此平台不支持操作;,c#,asp.net,C#,Asp.net,我正在尝试对我的混合加密和解密进行单元测试,但出现了一个错误“此平台不支持操作” 我将声明的字符串称为private,结果它得到了私钥。然后该方法调用方法2,该方法应该使用私钥对文件进行数字签名 byte[] sign = new Encryp().DigitalSign(privatekey, memFile); 方法2: public byte[] DigitalSign(string privateKey, MemoryStream data) {

我正在尝试对我的混合加密和解密进行单元测试,但出现了一个错误“此平台不支持操作”

我将声明的字符串称为private,结果它得到了私钥。然后该方法调用方法2,该方法应该使用私钥对文件进行数字签名

    byte[] sign = new Encryp().DigitalSign(privatekey, memFile);
方法2:

    public byte[] DigitalSign(string privateKey, MemoryStream data)
    {
        RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
        RSA.FromXmlString(privateKey); //Line which triggers the error

        byte[] hash = Hash(dataToBeSigned.ToArray());
        byte[] signture = RSA.SignHash(hash, "SHA512");

        return signture;
    }

假设它的.Net内核没有FromXmlString。但是,您可以尝试将其用作扩展方法:


在.NETCore3.0中,它是可用的。更新到.net core 3或使用扩展方法。希望对您有所帮助。

如果您使用的是.netcor2,它不支持.net core 3。在.net core 3之后,它将提供支持。

哪个版本的.netcore@Gauravsa2.1.8预览工作,我已经更新了答案。如果我将.Net Core更新为3.0,.FromXmlString是否有效?嗯,我将所有项目都放在.Net Core 2.1.8中,如果我将其更新为3.0,会影响整个项目吗?好的,然后您可以使用链接中提供的扩展方法。如果有效,请将其标记为答案。谢谢你,祝你新年快乐