Я делаю проект django, часть которого включает в себя дешифрование загрузки json и данных внутри, которые зашифрованы java в ASE / ECB / PKCS5Padding. Поэтому я пытаюсь получить зашифрованную строку и поместить ее в скрипт Python, чтобы увидеть, можно ли расшифровать ее обратно в исходную строку. Вот код расшифровки / расшифровки в Java.
А это моя версия на питоне:
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 / decryption, но не может расшифровать java. Я думаю, это из-за метода getSecretKey () в Java, но я не очень хорош в Java и понятия не имею, что это такое. Могу я еще спросить, возможно ли расшифровать строку, зашифрованную с помощью Java? Спасибо