【问题标题】:How do you hide a password in a program?如何在程序中隐藏密码?
【发布时间】:2021-01-06 17:12:07
【问题描述】:

我正在为一个学校项目用python编写一个程序,它的一个特点是它可以发送电子邮件。

但是,为了从程序发送电子邮件,您必须登录到电子邮件帐户,这意味着我的该帐户的密码包含在程序的变量中。

因为这是一个学校项目,所以我必须将其发送给与我一起工作的人,他们将能够阅读代码,但我真的不希望我的密码公开地留在他们的变量中去看看。

有什么办法可以隐藏或者加密让其他人看不到?

【问题讨论】:

  • 你为什么不创建一个测试电子邮件帐户然后分享它。无论您是否共享,都不应使用您的个人电子邮件!

标签: python email passwords


【解决方案1】:

很遗憾,答案是否定的。

这是一个很大的安全问题,也是人们“被黑客入侵”的一种非常常见的方式(他们在公共存储库上发布一些代码,其中包含 API 密钥或密码,人们可以拿走它并做他们想做的事和它)。

以下是此问题的最常见解决方案:

  • 使用服务器。这对您来说可能不是很可行,因为它是针对学校项目的,但在更大的项目中,我们通常会向我们的服务器(知道密码)发送一个请求,然后它会在那里发送表单。服务器上的代码(如果保护得当)被认为是中等安全的。即便如此,将密码放在代码中也是非常糟糕的设计。由于最终用户看不到服务器的代码,他们将无法获得该密码。请注意,这过于简单化了,保护服务器的意义远不止我所提到的。

  • 使用环境变量。环境变量可以在您的终端中设置,并将信息存储在您自己的计算机上,而不是在程序中。然而,为了让它工作,每个用户都需要在他们自己的终端中设置他们的环境变量,如果你想共享一个帐户,这不是要走的路,因为你必须给他们密码无论如何。 This 是一篇很好的文章,它讨论了环境变量以及如何设置它们。在python中,您可以使用os模块(os.environ["ENV_VARIABLE_NAME"])获取变量。

一般的经验法则是永远不要在您的源代码(用于客户端)中放入您不希望全世界看到的任何内容。有可能从代码中获取这些信息,并可能在未来引发大问题。

如果您有任何其他问题,请告诉我!

【讨论】:

  • 谢谢!这是非常有用和有益的。我想我可能会创建一些我不介意知道密码的一次性电子邮件,因为这似乎是唯一可行的选择。不管怎样,感谢您的回复。
  • 没问题@JamesL!祝你的任务好运。如果您觉得这有帮助,如果您能将其标记为正确答案,那就太好了!
猜你喜欢
  • 2020-05-14
  • 2017-07-29
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-15
相关资源
最近更新 更多