C# 如何生成密码?

C# 如何生成密码?,c#,C#,可能重复: 我有一个字符串“abcdefgklmno0123456789” 我需要列举所有可能的组合,大小从6到7个字符不等 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac。。。999999请查看以下链接 它会帮助你的 请查看以下链接 它会帮助你的 您可以使用Linq来完成: string s = "abcdefgklmno0123456789"; var pwdWith6Chars = from a in s

可能重复:

我有一个字符串
“abcdefgklmno0123456789”


我需要列举所有可能的组合,大小从6到7个字符不等


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac。。。999999

请查看以下链接

它会帮助你的


请查看以下链接

它会帮助你的


您可以使用Linq来完成:

string s = "abcdefgklmno0123456789";

var pwdWith6Chars =
            from a in s
            from b in s
            from c in s
            from d in s
            from e in s
            from f in s
            select new string(new[] { a, b, c, d, e, f });

var pwdWith7Chars =
            from a in s
            from b in s
            from c in s
            from d in s
            from e in s
            from f in s
            from g in s
            select new string(new[] { a, b, c, d, e, f, g });

var passwords = pwdWith6Chars.Concat(pwdWith7Chars).ToList();

您可以使用Linq来执行此操作:

string s = "abcdefgklmno0123456789";

var pwdWith6Chars =
            from a in s
            from b in s
            from c in s
            from d in s
            from e in s
            from f in s
            select new string(new[] { a, b, c, d, e, f });

var pwdWith7Chars =
            from a in s
            from b in s
            from c in s
            from d in s
            from e in s
            from f in s
            from g in s
            select new string(new[] { a, b, c, d, e, f, g });

var passwords = pwdWith6Chars.Concat(pwdWith7Chars).ToList();

可以使用递归生成此列表

伪代码(更像C):

str=“abcdefgklmno0123456789”
res=由6个字母组成的空字符串
结果=字符串列表
功能go(级别){
如果(级别==6或级别==7){
将“res”添加到“results”列表中
如果(级别==7){
返回
}
}

对于(i=position;i,可以使用递归生成此列表

伪代码(更像C):

str=“abcdefgklmno0123456789”
res=由6个字母组成的空字符串
结果=字符串列表
功能go(级别){
如果(级别==6或级别==7){
将“res”添加到“results”列表中
如果(级别==7){
返回
}
}

对于(i=position;i“我需要列举所有可能的组合”-不,你不需要。如果你正在生成密码…更像是试图破解密码…@Mitch Wheat,如果你试图破解密码,你会这么做。我想一定有一所学校将此作为作业的一部分。可惜没有人使用“p”在他们这些天的密码中。:(或“p”、“h”、“i”、“j”之后的任何字符。我最喜欢的密码是“password123”。“我需要列举所有可能的组合”-不,你不需要。如果你正在生成密码,那就不需要了…更像是试图破解密码…@Mitch Wheat,如果你试图破解密码,你就需要破解。我想一定有一所学校将此设置为作业的一部分。可惜现在没有人在密码中使用“p”:(或“p”、“h”、“i”、“j”之后的任何字符。我最喜欢的密码是“password123”,它只是一个笛卡尔积…有一种方法可以推广它,看它只是一个笛卡尔积…有一种方法可以推广它,看