c# - Windows 哈希密码

标签 c# c++ winapi hash passwords

有没有办法获取特定本地用户的 Windows 密码的哈希值?那会是哪个 Win32 API?我不想知道实际的密码是什么,只想知道密码的哈希值。

我希望能够判断哪些工作站/服务器对特定用户没有相同的密码。

请指教,谢谢。

最佳答案

我最近没有尝试过这种技术,所以我不确定它是否仍然有效,但有一次它确实有效,而且我猜它可能仍然有效。

在每台目标计算机上为该用户的帐户调用 NetUserChangePassword,但要使用无权更改该用户密码的帐户(例如,另一个普通用户帐户)。当您调用此方法时,您必须传递(除其他外)用户的旧密码。由于您从不允许更改用户密码的帐户调用它,因此此调用始终会失败。

您感兴趣的是失败时的错误代码。如果系统识别出您传递的旧密码(即帐户的正确密码),则调用将失败并显示 ERROR_ACCESS_DENIED。如果您传递的密码不正确(即该帐户无法识别),则会失败并显示 ERROR_INVALID_PASSWORD

关于c# - Windows 哈希密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3196600/

相关文章:

c# - 如何在 Emgu CV 中使用 CvInRange

c# - Json.Encode()是否使用JavaScriptSerializer类序列化

c++ - 别名(或类型定义)参数化类的内部类

c++ - Lotus Notes C++ API 通过 UNID 获取文档

c++ - 在无效的 Syskeypress 上禁用 MessageBeep

c++ - 将 'this' 指针作为 LPARAM 传递

c# - C# 对象到 JSON 的模板化序列化

c++ - 如何在 STL 堆栈中保存用户定义的类型?

c++ - 使用 Win32 C++ 访问 protected 网络共享

c# - 在 Silverlight 中检测控件的焦点