Python M2Crypto替代PHP

Python M2Crypto替代PHP,php,python,openssl,mcrypt,Php,Python,Openssl,Mcrypt,各位 我正在做一个API集成,从我的供应商数据库中获取一些数据。但是他们有这个Python脚本来进行集成。我只是想让你们帮我一个忙,告诉我如何使用PHP import M2Crypto import hashlib payload_template=“”2.0jinnaUTFTVAIAD{encrypted_email_id}获取数据10000024homehttps://mydomainname.com""" 电子邮件_id=”jinna@mywebsite.com“ 读取公钥。这段特殊的代

各位

我正在做一个API集成,从我的供应商数据库中获取一些数据。但是他们有这个
Python
脚本来进行集成。我只是想让你们帮我一个忙,告诉我如何使用
PHP

import M2Crypto
import hashlib
payload_template=“”2.0jinnaUTFTVAIAD{encrypted_email_id}获取数据10000024homehttps://mydomainname.com"""
电子邮件_id=”jinna@mywebsite.com“

读取公钥。这段特殊的代码是读取这些家伙与我共享的公钥。 使用公钥加密电子邮件_id,并用十六进制编码(Base16) 创建有效载荷。 生成有效负载的SHA1并以十六进制编码(Base16) 读取私钥。 使用私钥加密摘要并以十六进制编码(Base16) 打印有效载荷和签名。 将感谢您的支持。

另请参阅,也请参阅和
public_key = M2Crypto.RSA.load_pub_key('/home/jinna/work/insights-client-keys/clients/mywebsite/public_key')
encrypted_email_id = public_key.public_encrypt(email_id, M2Crypto.RSA.pkcs1_padding).encode("hex")
payload = payload_template.format(encrypted_email_id = encrypted_email_id)
digest = hashlib.sha1(payload).hexdigest()
private_key = M2Crypto.RSA.load_key('/home/jinna/work/insights-client-keys/clients/mywebsite/private_key')
signature = private_key.private_encrypt(digest, M2Crypto.RSA.pkcs1_padding).encode("hex")
print payload, signature