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

c中的Rsa加密。我加密了一个xml文件并保存了它

c#
  •  0
  • ttarchala  · 技术社区  · 5 年前

    c中的Rsa加密。我加密了一个xml文件并保存了它。之后我把这个文件转移到另一台电脑上。主要问题是它无法解密。我不知道为什么??

    
     public static byte[] decryptFile(XmlDocument Doc, RSA rsaKey, string KeyName)
            {
    
            Doc = new XmlDocument();
    
            Doc.PreserveWhitespace = true;
            Doc.Load(@"MLPACK1.xml");
            EncryptedXml encXml = new EncryptedXml(Doc);
            encXml.AddKeyNameMapping(KeyName, rsaKey);
    
            encXml.DecryptDocument();
            string contentOfDocument = Doc.OuterXml;
            byte[] buffer = StrToByteArray(contentOfDocument);
    
            return buffer;
    
        }
    
    2 回复  |  直到 14 年前
        1
  •  2
  •   Incognito    14 年前

    ProtectedData.Protect (…)方法。 该方法的第三个参数是 System.Security.Cryptography.DataProtectionScope .

    这样地

    DataProtectionScope DPS = DataProtectionScope.LocalMachine
    ProtectedData.Protect(bytes, null, DPS);
    

        2
  •  1
  •   David M    14 年前

    你的钥匙在两台机器上是一样的吗?你应该从机器上取下公钥 解密 用这个在另一台机器上加密它。