gpt4 book ai didi

c# - 以编程方式验证 Windows 密码策略?

转载 作者:行者123 更新时间:2023-12-03 11:10:10 25 4
gpt4 key购买 nike

我有一个批量创建用户的应用程序(我知道不典型,但不是我的决定),目前,密码验证只是使用正则表达式完成的。但是具体要求可能会根据 PC 的设置而变化,对吗?那么有没有办法在 C# 中根据 PC 的密码策略测试给定的字符串?我希望能够执行以下操作:

bool isPasswordGood = TestPasswordComplexity("notAgoodPassword");

最佳答案

这将取决于 Windows 中设置的安全策略。这通常是使用 GUI 设置安全策略,但您实际上可以从命令行导出设置,如下所示:

secedit.exe /export /cfg C:\temp\MySecurityPolicy.inf
注意:您可能需要以管理员身份运行命令提示符才能允许此操作 (右键单击命令提示符图标并选择以管理员身份运行)。
这应该将您的设置保存在一个文本文件中(这里是 MySecurityPolicy.inf )。该文件的第一部分应如下所示:
[Unicode]
Unicode=yes
[System Access]
MinimumPasswordAge = 0
MaximumPasswordAge = 365
MinimumPasswordLength = 12
PasswordComplexity = 0
PasswordHistorySize = 20
LockoutBadCount = 20
ResetLockoutCount = 10
LockoutDuration = 10
RequireLogonToChangePassword = 0
ForceLogoffWhenHourExpire = 1
NewAdministratorName = "LocalAdmin"
NewGuestName = "LocalGuest"
ClearTextPassword = 0
(...)
特别是我会想象第 6 行和第 7 行, MinimumPasswordLengthPasswordComplexity会感兴趣 - 有一些 documentation about this available here
一旦你理解了它是如何工作的,你应该能够创建一个简单的脚本或程序来读取这样的配置文件,并使用其中的信息来通知你的密码验证方法。也许只阅读第 6 行和第 7 行就足够了?
我意识到这可能不如直接从 C# 中查找策略设置那么好,但它至少会给你一个选择:现在每当你需要检查需求时,运行一个脚本,将设置导出到一个已知文件,并从您的应用程序中重新评估它。
如果您也可以从您的应用程序运行导出过程(假设提升的权限要求不会造成问题),那么您应该能够自动执行所有这些操作。否则,您可能必须手动导出策略文件,并将其存储在您的应用程序可以读取的位置。

关于c# - 以编程方式验证 Windows 密码策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62903054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com