我正在做一个django项目,该部分涉及解密json播放负载,并且内部的数据由ASE / ECB / PKCS5Padding中的java加密。因此,我尝试获取加密的字符串并将其放入python脚本中,以查看是否有可能将其解密回原始字符串。这是Java加密/解密的Code。
这是我的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)
但是,它只能执行常规的加密/解密,而不能解密Java。我猜这是因为Java中的getSecretKey()方法,但是我在Java中并不擅长,也不知道它是什么。请问仍然可以解密用Java加密的字符串吗?谢谢