Decrypting in Python an string encrypted using .NET
The string is encoded to bytes using the UTF-16 encoding. The first two bytes are a BOM. Then each character is encoded to two bytes.
From the documentation for Encoding.Unicode
:
Gets an encoding for the UTF-16 format using the little endian byte order.
To get the original string you need to decode it back from UTF-16 bytes to a Unicode string.
print aes.decrypt(text).decode('utf-16')