使用Python对文件进行AES加密

3 投票
3 回答
2189 浏览
提问于 2025-04-16 08:35

我想做一个简单的项目,用来备份文件并使用AES加密。

备份的部分因为Python的处理方式已经搞定了……不过我还需要对数据进行加密。

所以我有几个问题:

  1. AES是加密文件的最佳算法吗?还是说我可以找到更好的选择?

  2. 哪个Python库最适合用来加密?我查了一下,发现了M2Crypto和PyCrypto。这两个有什么区别?我应该选哪个?

  3. 这样做安全吗?我的意思是,我每次需要加密或解密时都要输入密钥,我会通过raw_input来获取这个密钥。这样可以吗?

如果你有任何建议,请随时告诉我。

谢谢。

3 个回答

-1

可以看看 pyOpenSSL 或者 PyCrypto

1

你提到的“AES”没有具体说明其他内容(比如密钥长度、模式:cbc、ctr等),我建议你可以先从pgp(gpg)开始。你可以在Python中调用gpg命令,这样可以很快完成任务。

加密

$ gpg -e -r Recipient file

解密

$ gpg -d file

想了解更多,可以查看这个链接:http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto.html#toc3

2

理想情况下,你不需要自己去研究加密算法来保护你的数据。如果没有其他选择,最好使用一个已经被验证过安全的框架,比如GPG,来处理文件加密。你提到的AES加密算法就说明了这一点:你甚至没有提到你在考虑哪种加密模式(比如CBC、XTR、CTR、CFB、EBC等等)。

撰写回答