C# ,使用“^”运算符对数字加密
原理:“异或”运算符“^”, 用于比较两个二进制数的响应位。计算过程如果两个二进制数的相应位都为1或两个二进制数的相应位都为0,则返回0;如果两个二进制数的相应位其中一个为1另一个为0,则返回0.
原理公式:依据二进制b 对二进制 a 取异或的一次改变,然后再进行 第二次异或改变,则最后结果仍是原值a
举例:数值23 ^ 加密数字15 的 二进制异或运算过程为 10111 (23)
^ 01111 (15)
= 11000 (24)
数值24 ^ 解密数字15 的二进制异或运算过程为 11000 (24)
^ 01111 (15)
= 10111 (23)
代码
private void btn_Encrypt_Click(object sender, EventArgs e) { int P_int_Num, P_int_Key;//定义两个值类型变量 if (int.TryParse(txt_Num.Text, out P_int_Num)//判断输入是否是数值 && int.TryParse(txt_Key.Text, out P_int_Key)) { txt_Encrypt.Text = (P_int_Num ^ P_int_Key).ToString();//加密数值 } else { MessageBox.Show("请输入数值", "出现错误!");//提示输入信息不正确 } } private void btn_Revert_Click(object sender, EventArgs e) { int P_int_Key, P_int_Encrypt;//定义两个值类型变量 if (int.TryParse(txt_Encrypt.Text, out P_int_Key)//判断输入是否是数值 && int.TryParse(txt_Key.Text, out P_int_Encrypt)) { txt_Revert.Text = (P_int_Encrypt ^ P_int_Key).ToString();//解密数值 } else { MessageBox.Show("请输入数值", "出现错误!");//提示输入信息不正确 } }
如图,23经加密后是 24,经解密后是23
付费内容,请联系本人QQ:1002453261
本文来自博客园,作者:明志德道,转载请注明原文链接:https://www.cnblogs.com/for-easy-fast/p/16462145.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析