如何在AES/ECB/PKCS5P中用python解密字符串(由java加密)?

如何在AES/ECB/PKCS5P中用python解密字符串(由java加密)?,java,python,cryptography,aes,Java,Python,Cryptography,Aes,我正在做一个django项目,其中一部分涉及解密json播放负载,其中的数据由ASE/ECB/PKCS5P中的java加密。因此,我尝试获取加密字符串并将其放入python脚本中,以查看是否有可能将其解密回原始字符串。下面是java中en/decryption的示例 这是我的python版本: class AESCipher: def __init__(self): self.key = '9sdf3jkkjsdfUUJH' def encrypt(self,

我正在做一个django项目,其中一部分涉及解密json播放负载,其中的数据由ASE/ECB/PKCS5P中的java加密。因此,我尝试获取加密字符串并将其放入python脚本中,以查看是否有可能将其解密回原始字符串。下面是java中en/decryption的示例

这是我的python版本:

class AESCipher:
    def __init__(self):
        self.key = '9sdf3jkkjsdfUUJH'

    def encrypt(self, raw):
        raw = pad(raw)
        cipher = AES.new(self.key, AES.MODE_ECB)
        enc_str = cipher.encrypt(raw)
        str_64 = base64.b64encode(enc_str)
        return(str_64.decode())


    def decrypt(self, enc):
        cipher = AES.new(self.key, AES.MODE_ECB)
        #enc += (len(enc) % 4) * '='
        decrypt_bytes = base64.b64decode(enc)
        dec = cipher.decrypt(decrypt_bytes)
        try:
            result = \
            re.compile('[\\x00-\\x08\\x0c\\x0e-\\x1f\\n\r\t]').sub('',\
                                     dec.decode())
        except Exception:
            result = 'fail'
        return(result)

但是,它只能进行普通的en/解密,而不能对java进行解密。我想这是因为java中的getSecretKey()方法,但我不擅长java,也不知道它是什么。我想问一下,是否可以解密java加密的字符串?谢谢

请添加问题中的错误。您确定使用了正确的密钥进行解密吗?@Roshith是的,我用java和python编写了basis AES en/解密脚本。两者都返回相同的结果。但是,如果我使用GitHub链接中的脚本以相同的密钥对相同的字符串进行en/解密,则返回值会发生变化。可能是因为getSecretKey(key)以未知的方式更改了密钥。如何用Python编写相同的getSecretKey(key)?我对谷歌做了很多研究,但似乎没有人尝试这么做。请添加问题中的错误。你确定你使用了正确的密钥进行解密吗?@Roshith是的,我用java和python编写了basis AES en/解密脚本。两者都返回相同的结果。但是,如果我使用GitHub链接中的脚本以相同的密钥对相同的字符串进行en/解密,则返回值会发生变化。可能是因为getSecretKey(key)以未知的方式更改了密钥。如何用Python编写相同的getSecretKey(key)?我对谷歌做了很多研究,但似乎没有人尝试这么做。