基于c#的windows基础设计(学习日记1)【关于异或运算】

  第一次接触异或运算,总体来说比哈希算法简单的多,无论是理解还是代码的难易度,唯一不好的是在固定了密钥之后,随机性就小了很多,所以安全性比起哈希算法还是有所差距。

原理在网站上很多都有所以就不再赘述了。程序的正确性尚不可知,不管了。

直接贴代码:

static void Main(string[] args)
{
         int i,n;
         string s_result=null, s_text, s_key;
         char ch;
         Console.WriteLine("请输入需要加密的字符串:");
         s_text = Console.ReadLine();
         Console.WriteLine("请输入加密的密钥:");
         s_key = Console.ReadLine();
       i f (s_text.Count() != s_key.Count())//判断长度是否相等
        {
          Console.WriteLine("加密字符串和字符串长度不等!");
        }
       else
      {
          for (i =0;i<= s_key.Length - 1; i++)//第一层循环把密钥的数字提取出来
      {
              n = s_key[i] - '0';
             for (i = 0; i <= s_text.Length - 1; i++)//把字符类型转换为char
     {
            s_result = (char)(s_text[i] ^ n)+s_result;//进行异或运算
         }
          }
          Console.WriteLine("加密后的字符串是:{0}",s_result);//输出结果
         }
          Console.ReadKey();
         //System.ApplicationI
       System.Environment.Exit(0);
}

原文地址:https://www.cnblogs.com/shichina/p/7498727.html