社区
C#
帖子详情
如何将两个string 进行^异或运算 (急)
lsm1011
2007-03-15 10:42:08
如题:
如何将两个string 进行^异或运算
string SChar="00DE006723AF45DF";
string SKey="1011";
怎样将SChar 与SKey进行异或;
请各位帮忙一解!
...全文
716
11
打赏
收藏
如何将两个string 进行^异或运算 (急)
如题: 如何将两个string 进行^异或运算 string SChar="00DE006723AF45DF"; string SKey="1011"; 怎样将SChar 与SKey进行异或; 请各位帮忙一解!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
li_oxen
2007-03-16
打赏
举报
回复
d
Red_angelX
2007-03-16
打赏
举报
回复
你要什么样的结果! 位数都不一样
王集鹄
2007-03-16
打赏
举报
回复
汗。。。你想转出来是啥?
除非在用16进制或者base64等明文编码再处理一次
lsm1011
2007-03-16
打赏
举报
回复
zswang(伴水清清)(专家门诊清洁工)
你的函数StringXor转出来的串是乱码!此路不通
lsm1011
2007-03-16
打赏
举报
回复
位数是不是一样不是关键,关键是能进行加密,且加密后的字符集是可读写的!
lsm1011
2007-03-16
打赏
举报
回复
搞定了! Snowdust(雪尘) 的思路是对的!
string SChar = "00DE006723AF45DF";
string SKey = "1011";
long l1 = Convert.ToInt64(SChar, 16);
long l2 = Convert.ToInt64(SKey, 16);
long result = l1 ^ l2;
谢谢!
星际后马上给分啊
王集鹄
2007-03-15
打赏
举报
回复
private string StringXor(string Str, string Key)
{
int vKeyLen = Key.Length;
char[] StrChars = Str.ToCharArray();
char[] KeyChars = Key.ToCharArray();
int j = 0;
for (int i = 0; i < Str.Length; i++)
StrChars[i] ^= KeyChars[j++ % Key.Length];
return new string(StrChars);
}
private void button1_Click(object sender, EventArgs ce)
{
Text = StringXor(StringXor("Zswang 路过", "03-15"), "03-15");
}
Snowdust
2007-03-15
打赏
举报
回复
如果SKey是二进制的话要将
long l2 = Convert.ToInt64(SKey, 16);
中的16改成2。
Snowdust
2007-03-15
打赏
举报
回复
string SChar = "00DE006723AF45DF";
string SKey = "1011";
long l1 = Convert.ToInt64(SChar, 16);
long l2 = Convert.ToInt64(SKey, 16);
long result = l1 ^ l2;
sunrobust
2007-03-15
打赏
举报
回复
直接是不行的
sunrobust
2007-03-15
打赏
举报
回复
你想的这应该是转成二进制数值以后再与或吧?
什么是异或_
异或运算
及
异或运算
的作用
什么是异或_
异或运算
及
异或运算
的作用 异或,是一个数学运算符,英文为exclusive OR,缩写为xor,应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为: a⊕b = (¬a ∧ b) ∨ (a ∧¬b) 如果a、b
两个
值不相同,则异或结果为1。如果a、b
两个
值相同,异或结果为0。 异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下...
【算法训练01】 ^
异或运算
扩展
【算法训练】 ^
异或运算
扩展 文章目录【算法训练】 ^
异或运算
扩展一、性质二、用 ^ 异或交换
两个
数三、面试题 ????????????前言: 从这篇帖子开始也会逐渐的更新算法的帖子(有时间就来更新 嘻嘻????????????),很多人认为学习算法,就是以后会去当算法工程师,或者很NB的大佬搞算法搞研究,而我们以后不搞这些所以就不用学习算法,一看到算法就头痛什么的,以后不走这条路就可以不用看算法了,我也头痛,虽然你以后不去走算法工程师这个职业,但是面试的时候面试官会问到算法题的呀!!!,有90
如何用
异或运算
交换
两个
数的值
" ^ "——
异或运算
,二元操作运算符,对
两个
操作元的每个二进制位
进行
异或运算
,运算规则为: 1^1=0,1^0=1,0^1=1,0^0=0;0^n=n,n^n=0。即相同为0,不同为1,但是这样很容易混淆,可以把
异或运算
记为无进位相加,如0和1异或就是1,1和1异或就会进位,要忽略,就是0。 那么如何不用临时变量去交换
两个
数的值呢,那么就可以利用0和任何数异或都为这个数本身,任何数和本身异或都为0,这个性质来交换
两个
数的值,举个例子: public static void main(
String
[
异或运算
实现加密解密
异或运算
中,如果某个字符(或数值)x 与 一个数值m
进行
异或运算
得到y,则再用y 与 m
进行
异或运算
就可以还原为 x ,因此应用这个原理可以实现数据的加密解密功能。 加密方法的加密操作是对字符串中的每个字符
进行
异或运算
,然后将
异或运算
后的字符串返回,得到密文。 根据 "字符(或数值)x 与 一个数值m
进行
异或运算
得到y,则再用y 与 m
进行
异或运算
就可以还原为 x " 原理,对密码中的每个字符
进行
再次
异或运算
,便可再次得到之前的明文信息,及达到解密的效果。 示例中,(decode(str)) 方
异或运算
的基本介绍以及使用技巧,剖析常见的异或题目
异或运算
,基本概念,异或性质,记忆技巧,画图分析,异或交换
两个
数,异或求解一些题目
C#
110,571
社区成员
642,565
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章