如何在Python脚本中使用Windows身份验证,而不提示用户输入或存储密码?

时间:2018-10-10 16:07:32

标签: python windows python-3.x authentication

我不想对密码进行编码,因为那样就很简单,就像将编码后的文本通过解码器返回原始值一样简单。相反,我希望我的Python程序为运行脚本的任何人传递其Windows凭据。

这可能吗?

1 个答案:

答案 0 :(得分:0)

  

我不想对密码进行编码,因为那样就很简单,就像将编码后的文本通过解码器返回原始值一样。

假设攻击者可以使用您的编码方法,从技术上来说这是正确的,但实际上并不相关。您不对存储的密码进行编码(或加密),而是对它们进行哈希处理,并且哈希不可逆。尽管有多种方法可以强行强制哈希,但是良好的哈希算法(请参阅bcrypt)会产生难以破解的哈希。

如果这是需要某种Windows身份验证集成的唯一原因,那么我说这是不必要的。您需要做的就是刷掉密码哈希。

  

相反,我希望我的Python程序为运行脚本的任何人传递其Windows凭据。

os.getlogin()应该使用户当前登录。如果您确实要提供用户名和密码,则需要提示他们,并将其传递给您正在访问的任何服务。 ,因为没有操作系统会向您的脚本提供用户密码(该密码几乎肯定不会以人类可读的格式存储)。