我使用Python的Pycrypto模块生成RSA密钥对将加密/解密密钥从Python传递给PHP?
#!/home/user/Desktop/generate_keys.py
from Crypto.PublicKey import RSA
from Crypto import Random
random_generator = Random.new().read
key = RSA.generate(1024,random_generator)
public_key = key.publickey().exportKey() #export public key
private_key = key.exportKey() #export private key
print(public_key)
print(private_key)
我需要做的就是运行在Python脚本,并通过这两个键来PHP将其存储在数据库中。我试图通过在shell中执行python脚本来传递变量,然后在PHP中输出。
<?php
$command = escapeshellcmd('python3 generate_keys.py');
$public_key = shell_exec($command);
echo $public_key;
?>
这里的问题是我不知道如何从Python中传递变量到PHP,所有我做的是一个Python脚本的输出到PHP。
如果我尝试做在Python中的两个独立的脚本:
公钥:
from Crypto.PublicKey import RSA
from Crypto import Random
random_generator = Random.new().read
key = RSA.generate(1024,random_generator)
print(key.publickey().exportKey())
的私钥:
from Crypto.PublicKey import RSA
from Crypto import Random
random_generator = Random.new().read
key = RSA.generate(1024,random_generator)
print(key.exportKey())
我会得到一个不同的密钥对每次我运行这些random_generator
。
如何将Python ('public_key' & 'private_key')
的变量传递给PHP变量?
我检查了一些关于从python传递变量到php的答案,反之亦然,但我不明白。 如果php,python和shell之间的通信可以优化,请通知我。 谢谢!
我觉得http://stackoverflow.com/questions/5497540/how-to-call-a-python-script-from-php显示如何调用从PHP的蟒蛇(http://php.net /manual/en/function.system.php)并获取所有返回值。 – Eich