Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android RSA加密和Python解密_Java_Android_Python_Encryption_Pycrypto - Fatal编程技术网

Java Android RSA加密和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

我正在尝试制作一个Android应用程序,将用户登录到基于Django的服务器。我试图通过加密用户名和密码来提高安全性,但由于某些原因,它无法在服务器端正确解密

我怀疑这和Java加密和PyCrypto加密略有不同并导致兼容性问题有关,但我太生疏了,不知道到底出了什么问题

以下是应用程序上的加密代码(遵循教程):

这是我的Python代码

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)