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

C# ,使用“^”运算符对数字加密的更多相关文章
- PAT 1048. 数字加密(20)
本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余--这里用J代表10.Q代表11.K代 ...
- PAT-乙级-1048. 数字加密(20)
1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固 ...
- PAT 乙级 1048 数字加密(20) C++版
1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固 ...
- PAT B1048 数字加密 (20 分)
本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 ...
- PAT 1048 数字加密
https://pintia.cn/problem-sets/994805260223102976/problems/994805276438282240 本题要求实现一种数字加密方法.首先固定一个加 ...
- PAT 1048 数字加密(20)(代码+思路)
1048 数字加密(20)(20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取 ...
- PAT——1048. 数字加密
本题要求实现一种数字加密方法.首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余——这里用J代表10.Q代表11.K代 ...
- 【算法笔记】B1048 数字加密
1048 数字加密 (20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 ...
- PAT 乙级 1048.数字加密 C++/Java
题目来源 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 ...
- PAT(B) 1048 数字加密(Java)字符串
题目链接:1048 数字加密 (20 point(s)) 题目描述 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运 ...
随机推荐
- 神经网络优化篇:如何理解 dropout(Understanding Dropout)
理解 dropout Dropout可以随机删除网络中的神经单元,为什么可以通过正则化发挥如此大的作用呢? 直观上理解:不要依赖于任何一个特征,因为该单元的输入可能随时被清除,因此该单元通过这种方式传 ...
- MinIO客户端之tree
MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc tree 使用树的形式,输出桶内的目录和文件. ./mc tree --files local1/bkt1 ...
- 复现YOLO5所遇到的问题
一. 解决方案: 由于没有影响模型继续运行,理解为简单的warning.根据查询问题,推断是由于 pytorch和torchvision的版本原因导致的. 二. 解决方案: 由于没有影响模型继续运行, ...
- Ubuntu安装Maridb 10.5版本
以20.04版本为例 Ubutun20.04自带源默认安装的mariadb版本为10.3不符合安装zabbix6.0的要求 打开MariaDB的官方网站:https://mariadb.org/mar ...
- Kubernetes架构及安装
K8s架构 k8s内部是有几个组件的,分别是controller manager,api-server,scheduler,kubelet以及etcd,kube-proxy还有k8s客户端kubect ...
- 文心一言 VS 讯飞星火 VS chatgpt (41)-- 算法导论5.4 5题
五.在大小为n的集合中,一个k字符串构成一个k排列的概率是多少?这个问题和生日悖论有什么关系? 文心一言: 在大小为n的集合中,一个k字符串构成一个k排列的概率是1/k!,这是由于排列的总数是k!,而 ...
- MySQL进阶篇:详解存储引擎InnoDB
本篇基础环境是使用navicat 12和Mysql8.0 MySQL进阶篇:第一章_一.二_存储引擎特点_InnoDB 1.1 存储引擎特点 1.1.1 InnoDB 1). 介绍 InnoDB是一种 ...
- GaussDB(for MySQL)新特性TDE发布:支持透明数据加密
本文分享自华为云社区<GaussDB(for MySQL)新特性TDE发布:支持透明数据加密>,作者: GaussDB 数据库. 技术背景 为了保护数据的安全,我们可能通过防火墙.身份认证 ...
- 华为云GaussDB专家走进课堂,跟莘莘学子聊聊数据库
摘要:华为云GaussDB走进北邮,技术专家走进课堂带来数据库前沿资讯. 近期,各地疫情又一次席卷而来,居家隔离成为常态.不过,外出的不便并没有阻挡莘莘学子求知的渴望,线上课堂成为了大多学生上课的主要 ...
- 手把手带你做LiteOS的树莓派移植
摘要:树莓派是英国的慈善组织"Raspberry Pi 基金会"开发的一款基于arm的微型电脑主板.本文介绍基于LiteOS的树莓派移植过程. 本文分享自华为云社区<2021 ...