Hi sorry for the long wait, I had to dig down, and unfortunately, the issue is not fixable, since another module in Cinema 4D R21 uses a specific version of MCSVR90.DLL, and the _raw_ecb.pyd used by Cryptodome (a compiled CPython extension) require also an MCSVR90.DLL so there is a conflict.
The only workaround I could think of would be to recompile Cryptodome and link the DLL statically.
But this goes beyond the scope of Maxon support and the issue being fixed with newer versions of Cinema 4D, we can only recommend you to not use Cryptodome with R21 or update to a newer version of Cinema 4D.
Hi @hhdhhd your question is not clear to our team do you want to use AES within your plugin or you asked about AES encryption for plugins in general?
Just for your information as stated in Plugin Structure .pyp file (python plugin file) are standard python file encrypted while pypv (generated via the Extensions Menu -> Tools -> Source Protector) are encrypted file (we don't share any information how this encryption is done).
I need to load cryptodome or crypto
But the C4d load returns the error
Hi you didnt write the error message
@m_adam This is a screenshot
@m_adam Is there a solution?
Hi @hhdhhd I'm afraid there is no direct solution for you. I see that you are running Cinema 4D R21, which implies Python 2.7.7.
Looking at the issue Cryptodome developers seem to have messed up Python2 import statement with Python 3 import statement. So the only way is to fix their module for Python 2.7.X.
Slight note their module is working nicely with the latest Cinema 4D R23 which uses Python 3.7.7.
@m_adam But just turn on the one in R21 python.exe It can be imported correctly
without any further questions or replies, we will consider this topic to be solved by Monday and flag it accordingly.
Thank you for your understanding,