基于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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值