c# – 如何确定字符串是否是用户SID?

Windows操作系统中,用户SID用以下字符串表示:

S-5-1-76-1812374880-3438888550-261701130-6117

有什么办法可以识别出这样一个字符串是一个有效的用户SID?

谢谢.

解决方法

根据 Security Identifiers描述,SID具有以下形式(它具有一到十四个次授权值):
S-1-<identifier authority>-<sub1>-<sub2>-…-<subn>-<rid>

您可以使用正则表达式来检查字符串是否匹配此模式:

string input = "S-5-1-76-1812374880-3438888550-261701130-6117";
string sidPattern = @"^S-\d-\d+-(\d+-){1,14}\d+$";
bool isValidFormat = Regex.IsMatch(input,sidPattern);

这将确保输入字符串具有有效的格式,但这不会证明SID是有效的.如评论中所建议的,如果您需要检查您是否具有有效的SID,则应尝试获取帐户.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...