C#通过异或(^)运算符制作二进制加密(C#实现加密)

快速了解异或运算符:

异或运算符在C#中用 "^ " 来表示

口诀:相同取0,相异取1

简单加密解密winform示例:

cs 复制代码
 /// <summary>
 /// 异或运算符加密实现
 /// </summary>
 /// <param name="p_int_Num">初始值</param>
 /// <param name="p_int_Key">加密Key</param>
 private void button1_Click(object sender, EventArgs e)
 {
     int p_int_Num, p_int_Key;
     if(int.TryParse(textBox1.Text, out p_int_Num)&&int.TryParse(textBox2.Text,out p_int_Key )){
         textBox3.Text=(p_int_Num^p_int_Key).ToString();
     }
     else
     {
         MessageBox.Show("请输入数值", "出现错误");
     }
     /*
      int a = 5;
      int b = 30;
      a^b = 27
      5的二进制:0000 0101
      30的二进制:0001 1110
      而异或的算法就是,两个二进制数的每一位进行比较,如果相同则为0,不同则为1
      0000 0101
      0001 1110
      ----------
      0001 1011 = 1+2+8+16 = 27
      */
 }
 /// <summary>
 /// 异或运算符解密实现
 /// </summary>
 /// <param name="P_int_Key">加密Key</param>
 /// <param name=" P_int_Encrypt">加密后的值</param>
 private void button2_Click(object sender, EventArgs e)
 {
     int P_int_Key, P_int_Encrypt;
     if(int.TryParse(textBox2.Text,out P_int_Key)&& int.TryParse(textBox3.Text,out P_int_Encrypt))
     {
         textBox4.Text = (P_int_Key^P_int_Encrypt).ToString();
     }
     else
     {
         MessageBox.Show("请输入数值", "出现错误");
     }
 }
 /*
      128 64 32 16 8 4 2 1
  27: 0   0  0  1 1 0 1 1
  30: 0   0  0  1 1 1 1 0
                 0 0 1 0 1 = 5
  */
相关推荐
中国胖子风清扬4 小时前
Rust 序列化技术全解析:从基础到实战
开发语言·c++·spring boot·vscode·后端·中间件·rust
我就是全世界4 小时前
【存储选型终极指南】RustFS vs MinIO:5大维度深度对决,95%技术团队的选择秘密!
开发语言·分布式·rust·存储
_oP_i5 小时前
WinForms 项目里生成时选择“首选目标平台 32 位导致有些电脑在获取office word对象时获取不到
c#·office
yudiandian20145 小时前
【QT 5.12.12 打包-Windows 平台下】
开发语言·qt
要记得喝水5 小时前
C#某公司面试题(含题目和解析)--1
开发语言·windows·面试·c#·.net
金融数据出海5 小时前
黄金金融期货数据API对接技术文档
开发语言·金融·github
诗书画唱5 小时前
【前端教程】JavaScript 实现图片鼠标悬停切换效果与==和=的区别
开发语言·前端·javascript
一枝小雨5 小时前
【C++】Vector完全指南:动态数组高效使用
开发语言·c++·笔记·vector·学习笔记·std库