标签: xor

简单的Python挑战:数据缓冲区中最快的按位异或

挑战:

在两个大小相等的缓冲区上执行按位XOR.缓冲区将需要是python str类型,因为传统上它是python中数据缓冲区的类型.将结果值作为a返回str.尽快做到这一点.

输入是两个1兆字节(2**20字节)的字符串.

挑战是使用python或现有的第三方python模块(轻松的规则:或创建自己的模块)大幅击败我的低效算法.边际增加是无用的.

from os import urandom
from numpy import frombuffer,bitwise_xor,byte

def slow_xor(aa,bb):
    a=frombuffer(aa,dtype=byte)
    b=frombuffer(bb,dtype=byte)
    c=bitwise_xor(a,b)
    r=c.tostring()
    return r

aa=urandom(2**20)
bb=urandom(2**20)

def test_it():
    for x in xrange(1000):
        slow_xor(aa,bb)
Run Code Online (Sandbox Code Playgroud)

python algorithm performance xor

51
推荐指数
7
解决办法
2万
查看次数

在java中使用两个字符串进行XOR操作

如何对java中的两个字符串进行按位XOR运算.

java string operators xor

50
推荐指数
4
解决办法
9万
查看次数

T-SQL XOR运算符

SQL Server(T-SQL)中是否有XOR运算符或等效函数?

t-sql sql-server xor

50
推荐指数
5
解决办法
10万
查看次数

47
推荐指数
3
解决办法
1万
查看次数

两个布尔场的XOR运算

鉴于两个布尔值,如何在C#中计算出最优雅的一个计算XOR运算的线程?

我知道可以通过组合使用switch或者这样做,if else但这会使我的代码变得相当难看.

c# xor

46
推荐指数
3
解决办法
3万
查看次数

求解 A xor X = B + X 的算法

给定整数 A 和 B,找到整数 X 使得:

  • A,B < 2*1e18
  • A 异或 X = B + X

我非常怀疑是否有可能使用数学来解决这个方程。这是我 3 年前遇到的编码问题,即使现在我自己也无法解决。

到目前为止我的代码:(这是蛮力解决方案)

#include <iostream>

using namespace std;

int main()
{

    unsigned long long a, b;
    cin >> a >> b;
    for (unsigned long long x = 1; x < max(a, b); x++) {
        unsigned long long c = a ^ x;
        unsigned long long d = b + x;
        if (c == d) {
            cout << x << endl;
            break;
            return 0; …
Run Code Online (Sandbox Code Playgroud)

c++ xor

45
推荐指数
2
解决办法
2932
查看次数

数组中的两个元素,其xor是最大的

给定一个整数数组,您必须找到两个XOR最大的元素.

有天真的方法 - 只需挑选每个元素和xoring与其他元素,然后比较结果找到对.

除此之外,有没有有效的算法?

arrays algorithm bit-manipulation xor

44
推荐指数
3
解决办法
3万
查看次数

无论如何在javascript中实现XOR

我试图通过以下方式在javascript中实现XOR:

   // XOR validation
   if ((isEmptyString(firstStr) && !isEmptyString(secondStr)) ||
    (!isEmptyString(firstStr) && isEmptyString(secondStr))
   {
    alert(SOME_VALIDATION_MSG);
    return;
   }
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法在JavaScript中执行此操作?

谢谢.

javascript validation xor

41
推荐指数
7
解决办法
2万
查看次数

Code Golf:XOR加密

来自:加密公司
收件人:x $*sj4(就是你)

如果您选择接受它,您的任务就是用最短的击键次数创建一个程序

  • 采用两个文件名参数(命令行或标准输入),第一个是包含密钥的文件,第二个是一些消息.这两个文件都是纯文本.

  • 使用XOR加密将密钥应用于邮件,覆盖文件.

例:

输入文件:

StackOverflow很酷

键:

Code Golf

加密输出文件的十六进制转储:

0000000: 101b 0506 4b08 1909 1425 030b 1200 2e1c  ....K....%......
0000010: 4c25 2c00 080d 0a                        L%,....
Run Code Online (Sandbox Code Playgroud)

为简单起见,假设文件可以适合内存


此消息将在5 ... 4 ... 3 ... 2 ... 1中自加密...

     #####
    #### _\_  ________
    ##=-[.].]| \      \
    #(    _\ |  |------|
     #   __| |  ||||||||
      \  _/  |  ||||||||
   .--'--'-. |  | ____ |
  / __      `|__|[o__o]|
_(____nm_______ /____\____ 
Run Code Online (Sandbox Code Playgroud)

如果密钥的大小大于或等于消息的大小并且密钥是由无偏的随机过程生成的,则XOR加密是不可能破解的.见:一次性垫.所以这里没有"糟糕的加密".

encryption code-golf xor

37
推荐指数
8
解决办法
6247
查看次数

x86汇编中XOR的含义是什么?

我正在进行组装,我一直在运行xor,例如:

xor     ax, ax
Run Code Online (Sandbox Code Playgroud)

它只是清除了寄存器的值吗?

assembly xor

36
推荐指数
5
解决办法
8万
查看次数