Closed AzriDelta closed 5 years ago
Just tested and all works as expected
Java code:
String encrypted = Aes256.encrypt("TEXT", "m6Cl+NAZ2hqxx8Ulg0WlXR16oiY1zG3O/OyJLKfmbFk=");
System.out.println(encrypted);
String decrypted = Aes256.decrypt(encrypted, "m6Cl+NAZ2hqxx8Ulg0WlXR16oiY1zG3O/OyJLKfmbFk=");
System.out.println(decrypted);
output using dev.mervick.Aes256
:
$ /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java -javaagent:/home/izman/IDE/IntelliJIDEA/idea-IU-172.3317.76/lib/idea_rt.jar=37503:/home/izman/IDE/IntelliJIDEA/idea-IU-172.3317.76/bin -Dfile.encoding=UTF-8 -classpath /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/cldrdata.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/dnsns.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/icedtea-sound.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/jaccess.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/nashorn.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/sunec.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/sunjce_provider.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/management-agent.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/rt.jar:/home/data/projects/aes-everywhere/java/compile/production/aes-everywhere dev.mervick.Aes256
U2FsdGVkX1+pk2k8NrOnmcyh2fgWqJOr5IKIaGMnFKo=
TEXT
output using dev.mervick.android.Aes256
:
$ /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java -Didea.launcher.port=43049 -Didea.launcher.bin.path=/home/izman/IDE/IntelliJIDEA/idea-IU-172.3317.76/bin -Dfile.encoding=UTF-8 -classpath /home/izman/Android/Sdk/platforms/android-23/android.jar:/home/izman/Android/Sdk/platforms/android-23/data/res:/home/data/projects/aes-everywhere/java/compile/production/aes-everywhere:/home/izman/IDE/IntelliJIDEA/idea-IU-172.3317.76/lib/idea_rt.jar com.intellij.rt.execution.application.AppMainV2 dev.mervick.android.Aes256
U2FsdGVkX19sUn8VZNZg5QsyMtQTA//RXnXaZ4Z5pWw=
TEXT
Python code:
from aes256 import aes256
encrypted = 'U2FsdGVkX1+pk2k8NrOnmcyh2fgWqJOr5IKIaGMnFKo='
key = 'm6Cl+NAZ2hqxx8Ulg0WlXR16oiY1zG3O/OyJLKfmbFk='
print(aes256().decrypt(encrypted, key))
encrypted = 'U2FsdGVkX19sUn8VZNZg5QsyMtQTA//RXnXaZ4Z5pWw='
print(aes256().decrypt(encrypted, key))
Output:
$ python2 /home/data/projects/aes-everywhere/python/src/test.py
TEXT
TEXT
$ python3 /home/data/projects/aes-everywhere/python/src/test.py
b'TEXT'
b'TEXT'
Check your code
Yup, after few testing, the problem is with how I encode the generated key from byte to string in my Android application and how encode the generated key from in python script. Eventhough both keys look similar in string form, but I guess both are different when converted back to byte. Will be looking into it. Sorry for bothering you.
I have trouble to decrypt the encrypted data from Java (Android) by using the Python version.
Below are the encrypted data and decrypted data (using Java) using logging console
So it can be encrypted and decrypted perfectly using Java.
And below is my attempt to decrypt using Python
and it returned
Which means the decryption failed.
However, if I use encryption and decryption key as simple as 'PASSWORD' on both languages, the decryption works.
Is my problem related to the generated key?