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”,它只是一个笛卡尔积…有一种方法可以推广它,看它只是一个笛卡尔积…有一种方法可以推广它,看