1. 首页 > 电脑教程 > C#编码打造安全完美Email地址,

C#编码打造安全完美Email地址,

在实验中发现将mailto:进行编码,outlook也能识别,其他邮件客户端没有进行测试。花了一袋烟的功夫写了个小工具。思路是:将邮件地址拼接成“mailto:youremail@domain.com?Subject=”的形式,然后随机拆分该字符串,编码后赋值到javascript变量。最后将javascript变量相加。编码方式是:将单字节字符编码为%XX的形式,(unicode)双字节字符编码为\uXXXX形式。具体实现见代码。生成的效果如下:(请给我写信作为测试,谢谢^_^)

试一试:多少粘点代码吧(汗...)// Divide the string to some parts. protected List PartString(string input) { List list = new List(); Random rnd = new Random(); int len = input.Length; int idx = 0; while (len > 0) { int tmp = rnd.Next(1, len + 1); list.Add(input.Substring(idx, tmp)); idx += tmp; len -= tmp; } return list; } // Encode string. ASCII: %xx format; double bytes: \uxxxx format. protected string EncodeString(string input) { StringBuilder output = new StringBuilder(input.Length * 4); foreach (char c in input) { int charValue = (int)c; if (charValue > 255) { output.AppendFormat("\\u{0:x4}", charValue); } else { output.AppendFormat("%{0:x2}", charValue); } } return output.ToString(); } // Generate unique variable name. protected string GenerateVarName() { Random rnd = new Random(); string output = ((char)((int)'a' + rnd.Next(0, 26))).ToString() + rnd.Next(0, 10); while (vars.ContainsKey(output)) { output = ((char)((int)'a' + rnd.Next(0, 26))).ToString() + rnd.Next(0, 10); } return output; }演示地址:http://www.xianfen.net/Article148.aspx代码下载:点这里

声明:希维路由器教程网提供的内容,仅供网友学习交流,如有侵权请与我们联系删除,谢谢。ihuangque@qq.com
本文地址:https://www.ctrlcv.com.cn/diannao/169323480510644.html