FromXmlString в CSharp и JavaScript - PullRequest
       0

FromXmlString в CSharp и JavaScript

0 голосов
/ 01 февраля 2019

Может кто-нибудь сказать мне, что делает приведенный ниже фрагмент кода.Я хочу реализовать это с помощью Nodejs.Я совершенно новичок в CSharp

Этот метод FromXmlString действительно обязателен для шифрования здесь.Пожалуйста, помогите

public void FromXmlString(RSACryptoServiceProvider rsa, string xmlString)
    {
        RSAParameters parameters = new RSAParameters();

        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(xmlString);

        if (xmlDoc.DocumentElement.Name.Equals("RSAKeyValue"))
        {
            foreach (XmlNode node in xmlDoc.DocumentElement.ChildNodes)
            {
                switch (node.Name)
                {
                    case "Modulus": parameters.Modulus = Convert.FromBase64String(node.InnerText); break;
                    case "Exponent": parameters.Exponent = Convert.FromBase64String(node.InnerText); break;
                    case "P": parameters.P = Convert.FromBase64String(node.InnerText); break;
                    case "Q": parameters.Q = Convert.FromBase64String(node.InnerText); break;
                    case "DP": parameters.DP = Convert.FromBase64String(node.InnerText); break;
                    case "DQ": parameters.DQ = Convert.FromBase64String(node.InnerText); break;
                    case "InverseQ": parameters.InverseQ = Convert.FromBase64String(node.InnerText); break;
                    case "D": parameters.D = Convert.FromBase64String(node.InnerText); break;
                }
            }
        }
        rsa.ImportParameters(parameters);
    }

 public string EncryptAsymmetric(string encryptText, string publicKey)
    {
        bool isOAEP = false;
        byte[] byteEncrypt = Encoding.UTF8.GetBytes(encryptText);
        byte[] encryptedData;

        var RSA = new RSACryptoServiceProvider();


        FromXmlString(RSA, publicKey);

        encryptedData = RSA.Encrypt(byteEncrypt, isOAEP);

        return Convert.ToBase64String(encryptedData);
    }

1 Ответ

0 голосов
/ 01 февраля 2019

Короче говоря, это RSA-шифрование строки (encryptText) с использованием параметров, указанных в виде строки в формате XML (publicKey), и возвращение результата в виде строки в кодировке Base64.

FromXmlStringнеобходим, поскольку он используется для загрузки параметров шифрования из XML-файла publicKey.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...