109,897
社区成员




if (A^B >= 无穷大)
string s = File.ReadAllText(@"c:\C语言概念题解答选编.txt", Encoding.GetEncoding("gb2312"));
int key = 12345;
StringBuilder sb = new StringBuilder(5 * s.Length);
foreach (char c in s)
sb.Append((c ^ key).ToString("D5"));
string r1 = sb.ToString();
Response.Write("加密后:" + r1 + "<br/>");
sb = new StringBuilder(r1.Length / 5);
for (int i = 0; i < r1.Length; i += 5)
{
int value = int.Parse(r1.Substring(i, 5)) ^ key;
sb.Append((char)value);
}
string r2 = sb.ToString();
Response.Write("解密后:" + r2);
string s = "中国人和日本人。";
Response.Write("加密前:" + s + "<br/>");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.Length; i++)
sb.AppendFormat("{0:D5}", s[i] ^ 12345);
string r1 = sb.ToString();
Response.Write("加密后:" + r1 + "<br/>");
MatchCollection matches = Regex.Matches(r1, @"\d{5}");
sb = new StringBuilder();
for (int i = 0; i < matches.Count; i++)
sb.Append((char)(int.Parse(matches[i].Value) ^ 12345));
string r2 = sb.ToString();
Response.Write("解密后:" + r2);