用于Python加密的AES密钥

时间:2018-11-28 09:24:54

标签: python python-3.x encryption aes

我在python代码中具有数据库凭据,我希望对其进行加密,并在运行时通过解密对该值进行使用。

我已经在stackoverflow的帮助下找到了以下代码,并按预期工作了

ThenInclude

以上代码具有secret_key,并带有注释以创建新的密钥。

  1. 如何创建密钥以及可以从何处创建密钥?

  2. 在什么地方推荐存储密钥?有没有建议保存的结构/地方?我认为应该将其保存在数据库中

  3. 以上代码是加密和解密的强大方法吗?如果可以被篡改,应该采取什么方法?提供示例链接会很有帮助

1 个答案:

答案 0 :(得分:0)

  1. 您可以使用密码并通过在运行时使用PBKDF2函数来生成密钥,而不是将密码硬编码为源代码。

  2. 密码不应保存在数据库或文件中。您必须保留在内存中。

  3. ECB模式不安全,它会在数据上泄漏模式,请参阅Wikipedia中的penguin。您应该使用CBC模式或CTR模式进行加密。但是请记住,尽管您可以使用ECB模式执行平等查询,但是不能使用CBC或CTR模式执行。如果ECB模式适合您的情况,那就是;该模式不是安全问题,您可以使用ECB。