原理:“异或”运算符“^”, 用于比较两个二进制数的响应位。计算过程如果两个二进制数的相应位都为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

C# ,使用“^”运算符对数字加密的更多相关文章

  1. PAT 1048. 数字加密(20)

    本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余--这里用J代表10.Q代表11.K代 ...

  2. PAT-乙级-1048. 数字加密(20)

    1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固 ...

  3. PAT 乙级 1048 数字加密(20) C++版

    1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固 ...

  4. PAT B1048 数字加密 (20 分)

    本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 ...

  5. PAT 1048 数字加密

    https://pintia.cn/problem-sets/994805260223102976/problems/994805276438282240 本题要求实现一种数字加密方法.首先固定一个加 ...

  6. PAT 1048 数字加密(20)(代码+思路)

    1048 数字加密(20)(20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取 ...

  7. PAT——1048. 数字加密

    本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余——这里用J代表10.Q代表11.K代 ...

  8. 【算法笔记】B1048 数字加密

    1048 数字加密 (20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 ...

  9. PAT 乙级 1048.数字加密 C++/Java

    题目来源 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 ...

  10. PAT(B) 1048 数字加密(Java)字符串

    题目链接:1048 数字加密 (20 point(s)) 题目描述 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运 ...

随机推荐

  1. 神经网络优化篇:如何理解 dropout(Understanding Dropout)

    理解 dropout Dropout可以随机删除网络中的神经单元,为什么可以通过正则化发挥如此大的作用呢? 直观上理解:不要依赖于任何一个特征,因为该单元的输入可能随时被清除,因此该单元通过这种方式传 ...

  2. MinIO客户端之tree

    MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc tree 使用树的形式,输出桶内的目录和文件. ./mc tree --files local1/bkt1 ...

  3. 复现YOLO5所遇到的问题

    一. 解决方案: 由于没有影响模型继续运行,理解为简单的warning.根据查询问题,推断是由于 pytorch和torchvision的版本原因导致的. 二. 解决方案: 由于没有影响模型继续运行, ...

  4. Ubuntu安装Maridb 10.5版本

    以20.04版本为例 Ubutun20.04自带源默认安装的mariadb版本为10.3不符合安装zabbix6.0的要求 打开MariaDB的官方网站:https://mariadb.org/mar ...

  5. Kubernetes架构及安装

    K8s架构 k8s内部是有几个组件的,分别是controller manager,api-server,scheduler,kubelet以及etcd,kube-proxy还有k8s客户端kubect ...

  6. 文心一言 VS 讯飞星火 VS chatgpt (41)-- 算法导论5.4 5题

    五.在大小为n的集合中,一个k字符串构成一个k排列的概率是多少?这个问题和生日悖论有什么关系? 文心一言: 在大小为n的集合中,一个k字符串构成一个k排列的概率是1/k!,这是由于排列的总数是k!,而 ...

  7. MySQL进阶篇:详解存储引擎InnoDB

    本篇基础环境是使用navicat 12和Mysql8.0 MySQL进阶篇:第一章_一.二_存储引擎特点_InnoDB 1.1 存储引擎特点 1.1.1 InnoDB 1). 介绍 InnoDB是一种 ...

  8. GaussDB(for MySQL)新特性TDE发布:支持透明数据加密

    本文分享自华为云社区<GaussDB(for MySQL)新特性TDE发布:支持透明数据加密>,作者: GaussDB 数据库. 技术背景 为了保护数据的安全,我们可能通过防火墙.身份认证 ...

  9. 华为云GaussDB专家走进课堂,跟莘莘学子聊聊数据库

    摘要:华为云GaussDB走进北邮,技术专家走进课堂带来数据库前沿资讯. 近期,各地疫情又一次席卷而来,居家隔离成为常态.不过,外出的不便并没有阻挡莘莘学子求知的渴望,线上课堂成为了大多学生上课的主要 ...

  10. 手把手带你做LiteOS的树莓派移植

    摘要:树莓派是英国的慈善组织"Raspberry Pi 基金会"开发的一款基于arm的微型电脑主板.本文介绍基于LiteOS的树莓派移植过程. 本文分享自华为云社区<2021 ...