我目前正在尝试将遗留 Python 应用程序移植到 .NET,其中包含 AES 加密,使用我可以告诉 pyCrpyto 的内容。我的 Python 和 Crypto 经验非常有限。该代码使用下一页中的代码片段。 http://www.djangosnippets.org/snippets/1095/
到目前为止,我相信我已经设法弄清楚它使用 AES 调用 Crypto.Cipher 并将我们的 key 的前 32 个字符作为密码,但没有模式或 IV。当它被添加到数据库时,它还会在加密文本上放置一个前缀。
我无法解决的是如何在 .NET 中解密现有的加密数据库记录。我一直在查看 RijndaelManaged,但它需要一个 IV,并且在 python 中看不到任何引用。
任何人都可以指出在 .NET 中可以使用什么方法来获得所需结果的方向。
最佳答案
AES(和 Rijndael)需要模式和 IV。 IV 可能是零向量,但它仍然是 IV。模式可能未明确指定...但如果它使用 AES,则仍然存在模式。
尝试这个答案了解一些背景:
Which AES library to use in Ruby/Python?
关于c# - AES 加密。从 Python (pyCrypto) 到 .NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2973546/