Преобразование кода RSA Decryption C# в код Php - PullRequest
1 голос
/ 06 мая 2020

У меня есть код расшифровки c#. Я пытался преобразовать его в код php, но это не сработало, каждый может мне помочь!

C# код:

public static string Decrypt(string data, string private_key)
        {
            var rsa = new RSACryptoServiceProvider();
            var dataArray = data.Split(new char[] { ',' });
            byte[] dataByte = new byte[dataArray.Length];
            for (int i = 0; i < dataArray.Length; i++)
            {
                dataByte[i] = Convert.ToByte(dataArray[i]);
            }
            rsa.FromXmlString(private_key);
            var decryptedByte = rsa.Decrypt(dataByte, false);
            return _encoder.GetString(decryptedByte);
        }

Строковые данные:

87,79,117,55,193,53,137,12,119,90,160,132,194,76,13,218,181,199,100,113,113,229,183,39,238,107,81,48,179,169,109,199,16,224,234,175,115,154,32,44,108,36,188,151,181,215,100,30,95,131,77,200,169,196,42,86,115,71,9,40,121,156,3,241,208,62,254,208,8,232,84,237,77,230,119,249,44,243,85,139,185,203,121,6,11,185,47,112,110,62,145,129,7,244,216,217,27,219,40,0,89,2,3,212,24,8,229,136,102,124,101,156,139,212,129,27,16,123,228,1,249,77,35,251,2,207,126,165

String private_key:

<RSAKeyValue><Modulus>xxmDiNVAbo+YJ5Zks6kD5iEOxAwm41djvBdtncV4N+3ThCYlfKDj2ufenx+5LiaS2hecVVtIZb1ITq6FXMeUySWYRh9F5EVnWs5xjYJhSF7LhZB8t4kklw+F99aEV1I4I27FbpAQJ8P3HzdlsKmldeE33yHRg5nPfaWHL2OCk8k=</Modulus><Exponent>AQAB</Exponent><P>2jeuuSybcujFjMKNY3VX6k/wZ0Q9Y44ArpCGCix7VuLg7NuPAA/GlyIvLbUq8/syTyP1WBfoLhf66nzKrfJDgw==</P><Q>6ZJyrXOuwGBZ0FZbVE1v/XG93uRCv0tIhKA8Ybv+k1tSJrZHfaQBiliC7/FIvKT4J7mchp4qEcB/k0RRu+6Nww==</Q><DP>P4svaeS/b3qw7AhLO8cTzrtweeG5LqBPOoYDQjspv2dZsB9PSOlPHvtpWZoD5AAl6j3CV+C+T43UFyw3qOd/GQ==</DP><DQ>FJT6E/zApmUXJPunGpukRbITKCP3GcI5hq5UA8y8FyIR8CVZ0WF1XUqFZz1cynrC/0Uk3NvtGxlaZJC9nxDbXw==</DQ><InverseQ>I21HFYRSMGunRSS/F1aH1Keopw+JZ215WWaTmwdyrH85ldKEQO9D0Vwc/2nNuK3BHWfRZwMzi3WPiBMDwuRX/Q==</InverseQ><D>RkfNVJniWqS5kw/VkE3TIIL+0VlwyMNqY1Tpzs2L+EItbfKBPRMWG4nJ3eW22oGnSPEYsFC+p5s/UPbuAKg67n6p4/CCFHbc0SLbpaAYf0SF5sdIHx4u6tciBO8TAf7YDW5EMiQZE3Ep9uElzoIgylRKeAd+Qm79cNGza7NO1Hk=</D></RSAKeyValue>

Мой php код:

function Decrypt($data, $privateKey){
        $dataArray = explode(",",$data);
        $dataByte = array();
        for($i = 0; $i < count($dataArray); $i ++){
            $dataByte[$i] = unpack('c',($dataArray[$i]))[1];
        }
        include('Crypt/RSA.php');
        $rsa = new Crypt_RSA();
        $rsa->loadKey($privateKey); // private key
        var_dump($rsa->decrypt(implode(",",$dataByte)));
    }

Я выполнил приведенный выше код php, но результат был false и Примечание: ошибка дешифрования в D: \ wamp64 \ www\KySoEVNCA \ Crypt \ RSA. php в строке 2664 , формат результата должен быть как fabd7be9-501 c -4826-b3d9 -1b7e68d5ee68

Спасибо!

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