110,825
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
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);
string s = "中国人和日本人。";
Response.Write("加密前:" + s + "<br/>");
StringBuilder sb = new StringBuilder();
byte[] bytes1 = Encoding.Unicode.GetBytes(s);
for (int i = 0; i < bytes1.Length; i++)
{
bytes1[i] = (byte)(bytes1[i] ^ 123);
sb.AppendFormat("{0:D3}", bytes1[i]);
}
string r1 = sb.ToString();
Response.Write("加密后:" + r1 + "<br/>");
MatchCollection matches = Regex.Matches(r1, @"\d{3}");
byte[] bytes2 = new byte[matches.Count];
for (int i = 0; i < matches.Count; i++)
bytes2[i] = (byte)(byte.Parse(matches[i].Value) ^ 123);
string r2 = Encoding.Unicode.GetString(bytes2);
Response.Write("解密后:" + r2);