挑战:
在两个大小相等的缓冲区上执行按位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) 鉴于两个布尔值,如何在C#中计算出最优雅的一个计算XOR运算的线程?
我知道可以通过组合使用switch或者这样做,if else但这会使我的代码变得相当难看.
给定整数 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) 给定一个整数数组,您必须找到两个XOR最大的元素.
有天真的方法 - 只需挑选每个元素和xoring与其他元素,然后比较结果找到对.
除此之外,有没有有效的算法?
我试图通过以下方式在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中执行此操作?
谢谢.
来自:加密公司
收件人: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加密是不可能破解的.见:一次性垫.所以这里没有"糟糕的加密".
xor ×10
algorithm ×2
arrays ×1
assembly ×1
c# ×1
c++ ×1
code-golf ×1
encryption ×1
hash ×1
hashcode ×1
java ×1
javascript ×1
operators ×1
performance ×1
python ×1
sql-server ×1
string ×1
t-sql ×1
validation ×1