在Python中保密密钥是安全的

use*_*462 5 python security obfuscation oauth

我知道这几个问题已经分别问了几次,而且我发现的大多数答案都是"Python不容易混淆,因为这是语言的本质.如果你真的需要混淆,请使用其他工具"并且"在某些时候你需要权衡"(请参阅如何保护Python代码以及如何保护OAuth使用者的​​安全,以及如何在受到危害时做出反应?).

但是,我刚刚制作了一个小型的Python应用程序,它利用了Twitter的API(因此需要OAuth).OAuth需要消费者秘密,远离用户.应用程序需要该信息,但用户不应轻易访问它.如果无法保护该信息(我将混淆和保护用作同义词,因为我不知道其他任何方式),那么首先为Python提供OAuth API有什么意义呢?

那么问题是:

  • 是否有可能在应用程序中对密码进行硬编码,然后以有效的方式对其进行模糊处理?
  • 如果没有,那么在Python中使用OAuth的最佳方式是什么?我曾想过将加密的消费者秘密与应用程序"运送"并使用硬编码密钥来恢复它,但问题仍然是相同的(如何保护密钥); 让消费者在服务器中保密,并让应用程序在启动时检索它(如果信息是未加密的,那么恶意攻击者更容易使用Wireshark并让消费者对网络流量保密,而不是反编译字节码,我怎么能确保我将这个秘密发送到我的应用程序而不是恶意攻击者?我知道任何形式的身份验证都需要在应用程序端获取秘密信息,问题仍然存在; 两者的混合(让服务器发送加密密钥,与以前一样的问题).基本问题是一样的:如果无法隐藏重要信息,你怎么能有秘密?

我也看过评论说应该对这些关键部分使用C/C++扩展,但我对此一无所知,所以如果这是答案,我会欣赏一些额外的信息.

psy*_*tic -2

您可以编写自己的简单对称加密函数,并进行大量数据操作,以使其更难逆转。