Как использовать свой собственный открытый / закрытый ключ для шифрования строки C# Asp. net core - PullRequest
0 голосов
/ 20 февраля 2020

Я потратил несколько часов, пытаясь получить действительную функцию шифрования / дешифрования, которая использует шифрование Asymmetri c, и лучшим вариантом, кажется, является RSA. Но дело в том, что я хочу, чтобы мог предоставить свой собственный открытый / закрытый ключ функции в виде строки сам в виде: "769de1f1a9dd6e114f81b9490ea42a2967840353edd358a35c84e2c831dd40a2" что-то очень похожее на 'eth- библиотека crypto ' npm для javascript.

, но я не нашел ни одной статьи или документации, объясняющей это. так кто-нибудь реализовал это раньше или есть статья, которая объясняет это. имейте в виду, что при использовании ядра asp. net FromXmlString не работает даже при использовании 3.0

. Вот моя функция шифрования:

public static string EncryptAsymmetric(string textToEncrypt, string publicKeyString)
        {


            var bytesToEncrypt = Encoding.UTF8.GetBytes(textToEncrypt);

            using (var rsa = new RSACryptoServiceProvider(2048))
            {
                try
                {

                    rsa.FromXmlString(publicKeyString);
                    var encryptedData = rsa.Encrypt(bytesToEncrypt, true);
                    var base64Encrypted = Convert.ToBase64String(encryptedData);
                    return base64Encrypted;
                }
                finally
                {
                    rsa.PersistKeyInCsp = false;
                }
            }
        }

, но она выдает ошибка FromXmlString (операция не поддерживается на этой платформе), поэтому, если есть какой-либо другой способ, может быть ......

любая помощь очень ценится, потому что я искал ее в течение многих часов без результат.

...