擅长:python、mysql、java
<p>这是完全不安全的,因为您使用的是没有填充的原始RSA。</p>
<p>您的应用程序需要签名,因此不应处理加密和解密。例如,PKCS#1v1.5是一个很好的协议,即使签名是一段必须附加到要证明其真实性的数据。</p>
<p>要在Python中验证PKCS#1 v1.5签名,请执行以下操作:</p>
<pre><code>from Crypto.PublicKey import RSA
from Crypto.Signature import PKCS1_v1_5
from Crypto.Hash import SHA
rsa_key = RSA.importKey(open(verification_key_file, "rb").read())
verifier = PKCS1_v1_5.new(rsa_key)
h = SHA.new(data_to_verify)
if verifier.verify(h, signature_received_with_the_data):
print "OK"
else:
print "Invalid"
</code></pre>
<p>我强烈建议更改PHP代码,以便它创建这样的签名。</p>