如何使用某些命令行工具或Windows API或.NET创建Windows用户而无需对密码进行硬编码,我需要一种方法来创建具有某些密码的用户,而无需实际知道此密码,(程序只知道其哈希值)例如)。
例如:
使用特定密码创建Windows用户的任何方法都是这样的:
UsersUtil.CreateUser("username", "SpIcif1c_Passw0rd");
我需要一个像这样的代码:
UsersUtil.CreateUser("username", "7604905d86ed36b69a657366e5b5c35f");
//"7604905d86ed36b69a657366e5b5c35f" is the hash for SpIcif1c_Passw0rd for example
我需要这个CreateUser
方法的代码或类似的东西!!
答案 0 :(得分:1)
不幸的是,这有两个问题:
据我所知,Windows不提供任何支持的机制。有可能通过直接操作SAM来做到这一点,但不能保证今天有效的方法明天会有效。
在Windows中,密码哈希是等同于密码的,即,任何知道哈希的人都可以(在某些情况下)访问该帐户,就好像他或她有密码一样。因此,使用哈希而不是密码实际上并没有为您提供您可能想要的安全优势。 (谷歌“传递哈希”以获取更多信息。)
如果您发布另一个描述您的场景的问题,我们可能会建议其他方法,但我担心这通常是一个难以解决的问题。或者,如果您愿意,可以直接给我发电子邮件(请参阅我的个人资料以获取联系方式),我也许可以提供帮助。