C#制作字典 用C#制作一个密码字典,自动列决一个单词的变形,比如password,列决出passw0rd PassWord等等。请问有没有思路? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 password,列决出passw0rd PassWord,如果是仅仅这样的话,可以定义一个函数,随机的对单词的某一位进行ToUpper操作。 枚举相近的单词:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions; namespace ConsoleApplication1{ class Program { static void Main(string[] args) { List<List<char>> simchr = new List<List<char>>() { new List<char>() { '0', 'o' }, new List<char>() { '2', 'z' }, new List<char>() { 'g', 'q', '9' } }; string source = "22az9"; string source1 = string.Join("", source.Select((x, i) => simchr.Any(y => y.Any(z => z == x)) ? "{" + simchr.Single(y => y.Any(z => z == x)).FirstOrDefault() + ":" + i.ToString() + "}" : x.ToString())); IEnumerable<string> query = new string[] { source1 }; while (Regex.IsMatch(query.First(), @"\{\w:\d+\}")) { string s = Regex.Match(query.First(), @"\{(\w):\d+\}").Value; string c = Regex.Match(query.First(), @"\{(\w):\d+\}").Groups[1].Value; query = query.SelectMany(x => simchr.First(y => y.First().ToString() == c).Select(y => x.Replace(s, y.ToString()))); } foreach (var item in query) { Console.WriteLine(item); } } }}22a2g 22a2q 22a29 22azg 22azq 22az9 2za2g 2za2q 2za29 2zazg 2zazq 2zaz9 z2a2g z2a2q z2a29 z2azg z2azq z2az9 zza2g zza2q zza29 zzazg zzazq zzaz9 Press any key to continue . . .http://bbs.csdn.net/topics/390352804其余的自己完善。 【急!急!急!关于异步编程!要详细解释!】C#异步编程那位高人会啊?? C#的GDI+ C#WinForm javascript 捕获ocx事件 导出Excel时,保存框后台显示的问题(急) C#中生成dll的问题 有一套toolbar图片都在一张图片中如何拆分出来。 如何在c#(web)调出outlook的发送窗口? 请教多窗口线条同步的问题 c#的运行环境是不是一定要.net框架的支持? 编写的命令行工具bat启动windows服务 在判断图形A是否在图形B里存在 中,有个新手不懂的问题,请指教
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
List<List<char>> simchr = new List<List<char>>()
{
new List<char>() { '0', 'o' },
new List<char>() { '2', 'z' },
new List<char>() { 'g', 'q', '9' }
};
string source = "22az9";
string source1 = string.Join("", source.Select((x, i) => simchr.Any(y => y.Any(z => z == x)) ? "{" + simchr.Single(y => y.Any(z => z == x)).FirstOrDefault() + ":" + i.ToString() + "}" : x.ToString()));
IEnumerable<string> query = new string[] { source1 };
while (Regex.IsMatch(query.First(), @"\{\w:\d+\}"))
{
string s = Regex.Match(query.First(), @"\{(\w):\d+\}").Value;
string c = Regex.Match(query.First(), @"\{(\w):\d+\}").Groups[1].Value;
query = query.SelectMany(x => simchr.First(y => y.First().ToString() == c).Select(y => x.Replace(s, y.ToString())));
}
foreach (var item in query)
{
Console.WriteLine(item);
}
}
}
}22a2g
22a2q
22a29
22azg
22azq
22az9
2za2g
2za2q
2za29
2zazg
2zazq
2zaz9
z2a2g
z2a2q
z2a29
z2azg
z2azq
z2az9
zza2g
zza2q
zza29
zzazg
zzazq
zzaz9
Press any key to continue . . .http://bbs.csdn.net/topics/390352804其余的自己完善。