Tag: phpseclib

C#RSA加密 – > PHP RSA解密

我试图在C#中使用RSA加密AES密钥和IV,并使用phpseclib用PHP解密它们。 我试图解决这个问题大约4个小时,但我总是得到’2495行的解密错误’。 PKCS似乎有问题。 临时私钥 临时公钥 在C#中使用RSA加密后的密文(decrypted =“testkey”,因为我删除了用于测试的aes加密) Cd/RsiVqKnEP2T9oTgnvRuHVKY09VfynLHIlinIGtW4PFrB2kKffIrIqRQKhob6bPIR4efjxhCn43AQ2gE5P/AMG/EDWk9HMJF8XuhdtsWfPmnqxVV4crpA2FZwh4BWdXq4N70ieWbuk+pRJ1dHGhLgFfphp4sVVopn3bPKw2VKI0O+MT4nUCHFac25owoFnMULzuxj60I9Qa/TIlCKwMNcv2r7ili/LvplPZIEnH2p/bR62TAUvty0yo9NTHZm+wlqyIUmA1/GrM0VHjmcnRjFQHp1zQreRspvRsbk= PHP(如果strrev与否,则无变化): public function RSADecryption($key, $iv) { $PrivateKeyFile = RSA_Private; $rsa = new Crypt_RSA(); $rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1); $rsa->loadKey($PrivateKeyFile); // decrypt key and iv for aes decryption $aes_key = base64_encode($rsa->decrypt(strrev((base64_decode($key))))); $aes_iv = base64_encode($rsa->decrypt(base64_decode($iv))); echo $aes_key; echo “”; echo $aes_iv; } C#加密: public static string RSAEncryption(string aes_key, string aes_iv, string publickey) { […]

安全通信PHP(phpseclib)和C#(Unity 3D)

我试图在PHP服务器和Unity 3D游戏之间建立安全的RSA连接(在Web Player中)。 在进程结束时$ rsa-> decrypt()返回“false”:-( 服务器生成RSA密钥并将公钥发送到Unity: $rsa = new Crypt_RSA(); $rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1); $rsa->setPrivateKeyFormat(CRYPT_RSA_PRIVATE_FORMAT_PKCS1); $rsa->setPublicKeyFormat(CRYPT_RSA_PUBLIC_FORMAT_PKCS1); $keys = $rsa->createKey(512); extract($keys); $rsa->loadKey($publickey); $_SESSION[“privatekey”] = $privatekey; $this->payload->Modulus = base64_encode($rsa->modulus); $this->payload->Exponent = base64_encode($rsa->publicExponent); 这会生成JSON: {“Modulus”:”MTE5MjcyOTYyNjQzMTIzODQ1MTI4MjE2ODA3OTY2MDE5MDQwODQ1NTc0MDIzMDI0NDQ5MjAzMDY4NDgxNTkyNzk5MTc0MzYxMzI4MDA3Njk0MjI4NjAyMzAwODA4MDI5MzkwOTk2MjUyMTg5OTkwNDgwNzg3MDcwMjk4MjkxMjcxNjQ1NzMzNDg0MTcxNTc0MDM3ODM0NjE3ODE=”,”Exponent”:”NjU1Mzc=”} Unity ENCODER: var N = JSON.Parse (generatedJSON); //im using SimpleJSON library var publicKey = new RSAParameters (); publicKey.Modulus = Convert.FromBase64String(N [“Modulus”].Value); publicKey.Exponent = Convert.FromBase64String(N [“Exponent”].Value); […]