草庐IT

bitwise-xor

全部标签

php - 交换两个变量的 XOR 技巧如何在字符串上真正起作用?

我刚刚遇到了这段代码,用于在PHP中交换两个变量的值:我理解二进制的概念;这总是适用于字符串吗?怎么办? 最佳答案 PHP通过将位运算符分别应用于每个字符来将位运算符应用于字符串。PHP:BitwiseOperators:Beawareofdatatypeconversions.Ifboththeleft-handandright-handparametersarestrings,thebitwiseoperatorwilloperateonthecharacters'ASCIIvalues.如果两个字符串具有相同的字符数,或者更准

php - Xoring PHP 中的两个字符?

我正在阅读有关php中的xor的内容,并且看到了这个示例:$aa="A"^"}";echo$aa;//所以我在网上搜索它是如何工作的,他们说它是ascii码的总和,但上面的代码不是总和。A=65}=12565+125=190我尝试在其他字符之间求和,例如$aa="A"^"&";echo$aa;但结果是130=g那么大于97的任何字符都不相加吗?我也检查了这个问题PHPXORstrings但这对我没有帮助。 最佳答案 ^是异或运算符,这意味着我们实际上是在处理二进制值。那么让我们分解一下发生了什么。二进制值的XOR运算符将返回1其中只

java - Java 和 PHP 中的 XOR 密码 : different results

假设我有一个纯文本一杯好奶茶,它将用key12345进行异或加密。这段Java代码:importsun.misc.BASE64Encoder;importsun.misc.BASE64Decoder;publicclassXORTest{publicstaticvoidmain(Stringargs[]){Stringplaintext="anicecupofmilktea";Stringkey="12345";Stringencrypted=xor_encrypt(plaintext,key);Stringdecrypted=xor_decrypt(encrypted,key);Sy

java - Guava 的 UnsignedLong : Why does it XOR Long. MIN_VALUE

我正在阅读UnsignedarithmeticinJava这很好地解释了如何使用以下方法进行无符号长整型publicstaticbooleanisLessThanUnsigned(longn1,longn2){return(n1但是我对Guava的实现感到困惑。我希望有人能对此有所启发。/***A(self-inverse)bijectionwhichconvertstheorderingonunsignedlongstotheorderingon*longs,thatis,{@codea 最佳答案 也许一些图表有帮助。我将使用8位

使用按位异或的 Java 字符串比较

我在产品代码中发现了以下代码片段。它使用按位XOR进行字符串比较。这比String.equals(Objecto)方法好吗?作者在这里想达到什么目的?privatestaticbooleancompareSecure(Stringa,Stringb){if((a==null)||(b==null)){return(a==null)&&(b==null);}intlen=a.length();if(len!=b.length()){returnfalse;}if(len==0){returntrue;}intbits=0;for(inti=0;i对于上下文,等同的字符串是身份验证toke

java - 密码分析 : XOR of two plaintext files

我有一个文件,其中包含两个异或明文文件的结果。我如何攻击此文件以解密其中一个明文文件?我搜索了很多,但找不到任何答案。谢谢!编辑:好吧,我还有两个密文,我对它们进行异或运算以获得两个明文的异或。我问这个问题的原因是,根据BruceSchneier,pg的说法。198,AppliedCryptography,1996“......她可以将它们异或在一起并得到两个明文消息相互异或。这很容易破解,然后她可以将其中一个明文与密文进行异或以获得key流。”(这与简单的流密码有关)但除此之外,他没有提供任何解释。这就是为什么我在这里问。原谅我的无知。另外,使用的算法比较简单,使用长度为3的对称ke

数字范围内的XOR

我遇到了一个这样的问题给定n个元素的数组,在程序中必须将所有数字的XOR取出小于T的XOR以及索引L,R(包括含有索引和0索引)的所有数字的查询。示例:说arr={2,3,5,1}我们的查询是:024输出1我只能想到经过范围的天真解决方案,并且仅将所有数字的XOR都少于T,但我只是想知道是否有任何数据结构等数据结构可以有效地完成任务?看答案这是一个解决方案:用索引保存所有数字,并根据其值对其进行排序(我们称其为数组a)。首先,使用查询ID保存所有查询,然后根据t对其进行排序(我们称其为阵列q)。取一个段树,默认情况下每个节点包含0。它是一个段树,其中包含XOR范围。迭代Q,并在段树中添加所有数

java - JAVA中不同长度的XOR Hex String

我有两个字符串Strings1="426F62";Strings2="457665";字符串以十六进制表示。我想对它们进行异或。通常逐个字符进行异或运算会为除FXOR6之外的其他人提供正确的结果。(它给出112,答案应该是9)请告诉我在JAVA中的正确实现方式编辑:转换为int和xoring有效。但是当两个字符串的长度不同时如何异或。 最佳答案 与其对Unicode表示进行异或运算,只需将每个字符转换为它所代表的十六进制数字,对这些进行异或运算,然后再将其转换回十六进制。你仍然可以一次做一个字符:publicStringxorHex

java - 是否可以使用 XOR 来检测多个条件中的一个是否为真?

例如,if(bool1^bool2^bool3^bool4){//Dowhatever}它应该只在恰好满足其中一个条件时执行。 最佳答案 将boolean值作为整数相加并检查它们是否等于1。在无法将boolean值转换为整数的语言中,例如Java,更冗长的选项是:if((bool1?1:0)+(bool2?1:0)+(bool3?1:0)+(bool4?1:0)==1){//onlyrunswhenoneofbool1-4istrue}但是,在将boolean值转换为整数有效的其他语言中,您可以执行以下操作:if((int)(boo

c++ - 需要神经网络 XOR 反向传播信息

有谁知道我在哪里可以找到一些关于XOR的NN反向传播的示例代码,我还可以在系统训练后对其进行测试吗?最好使用C++或MATLAB。 最佳答案 我推荐'StepbyStepGuidetoImplementingaNeuralNetworkinC'作者:JohnA.Bullinaria。这是关于如何实现能够学习异或的多层神经网络的非常简单的演练。文中介绍的代码是C语言的,非常容易理解。网络上的大多数“神经网络简介”文章都是基于面向对象的,并且以可重用库的形式出现,这可能会使它们更难理解和入门。