Java Android RSA加密和Python解密
我正在尝试制作一个Android应用程序,将用户登录到基于Django的服务器。我试图通过加密用户名和密码来提高安全性,但由于某些原因,它无法在服务器端正确解密 我怀疑这和Java加密和PyCrypto加密略有不同并导致兼容性问题有关,但我太生疏了,不知道到底出了什么问题 以下是应用程序上的加密代码(遵循教程): 这是我的Python代码Java Android RSA加密和Python解密,java,android,python,encryption,pycrypto,Java,Android,Python,Encryption,Pycrypto,我正在尝试制作一个Android应用程序,将用户登录到基于Django的服务器。我试图通过加密用户名和密码来提高安全性,但由于某些原因,它无法在服务器端正确解密 我怀疑这和Java加密和PyCrypto加密略有不同并导致兼容性问题有关,但我太生疏了,不知道到底出了什么问题 以下是应用程序上的加密代码(遵循教程): 这是我的Python代码 from Cryto.PublicKey import RSA def decrypt(encoded_text): f = open("/pat
from Cryto.PublicKey import RSA
def decrypt(encoded_text):
f = open("/path_to_file/private_key.pem", 'r')
priv_key = RSA.importKey(f)
encrypted_text = base64.b64decode(encoded_text)
plain_text = priv_key.decrypt(encrypted_text)
return plain_text
任何帮助都将不胜感激 Java代码使用PKCS#1 v1.5 RSA加密,这是一种严重破坏且不安全的协议 话虽如此,解密是在Python中使用适当的模块完成的:
from Crypto.Cipher import PKCS1_v1_5
priv_key = RSA.importKey(f)
cipher = PKCS1_v1_5.new(priv_key)
plain_text = cipher.decrypt(encrypted_text)
更多信息,请参阅。未正确解密不是一个非常有用的错误描述。。。
from Crypto.Cipher import PKCS1_v1_5
priv_key = RSA.importKey(f)
cipher = PKCS1_v1_5.new(priv_key)
plain_text = cipher.decrypt(encrypted_text)