问题标签 [xor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1931 浏览

c# - C# 转换 XOR crypt 函数

我一直致力于将 C++ 加密方法转换为 C#。问题是,我无法让它按照我想要的方式加密/解密。

这个想法很简单,我捕获一个数据包,然后解密它。输出将是:数据包大小 - 命令/操作 - 空(结束)

(解密器将前两个字节截掉)

C++ 代码是这样的:

所以我认为如果我不想使用指针,这将在 C# 中工作:

- 但事实并非如此,返回的值只是另一行 rubish 而不是解密的值。给出的输出是:..O♦&/OOOe。

好吧..至少'/'出于某种原因在正确的位置。

更多信息:

  • 我正在使用的测试包是这样的:

十六进制值:0C 00 E2 66 65 47 4E 09 04 13 65 00

纯文本:...feGN...e。

解密:XX/这里XX

X = 未知值,我真的不记得了,但没关系。

  • 使用 Hex Workshop,您可以通过以下方式解密数据包:
    1. Special 将十六进制值粘贴为 CF_TEXT,确保选中“视为十六进制值”框。
    2. 然后,从您刚刚粘贴的十六进制值中选择所有内容,除了第一个和最后 2 个字节。
    3. 转到工具>操作>异或。
    4. 选择“将数据视为 8 位数据”并将值设置为“61”。
    5. 按“确定”,您就完成了。

这就是我目前所能提供的所有信息,因为我正在脑海中写下这个。

感谢您的时间。

如果您在此没有看到问题:

如果有人可以查看代码以了解它有什么问题,或者是否有其他方法可以做到这一点,那就太好了。我正在转换这段代码,因为我对 C++ 很糟糕,并且想用该代码创建一个 C# 应用程序。

Ps:代码标签等很痛苦,所以如果间距等有点混乱,我很抱歉。

0 投票
1 回答
2141 浏览

delphi - Delphi:布尔值的 XOR 与 <>

之间有什么区别:

0 投票
4 回答
1947 浏览

java - java引用之间的异或操作

我想为xor-linked list编写 java 代码。有人可以建议我如何在引用之间执行异或操作吗?

0 投票
3 回答
6226 浏览

c - C/C++ 中的简单 XOR 加密例程

我正在尝试使用 XOR 加密/解密文件。我有以下加密/解密例程,其中每个字节都被异或,结果减去位于前一个位置的字节的值。ASM 表示如下

这就是我的加密例程应该是什么样子,我正在尝试将此 C/C++ 移植。我的代码如下

我无法弄清楚如何在 C++ 中减去字节。XOR 例程本身看起来是正确的,不是吗?请注意,我还尝试从文件末尾到开头加密文件。有任何想法吗?

谢谢!

0 投票
5 回答
3279 浏览

algorithm - 计算异或的算法

我想计算从 0 到 (n)^{1/2} - 1 的数字的 XOR,每个数字从 0 到 (n)^{1/2} - 1。我想在 O(n) 中执行此操作time 并且不能使用 XOR、OR 和 AND 操作。

如果我知道 X 和 Y 的 XOR,我可以在恒定时间内计算 X+1 和 Y 的 XOR 吗?

正如一些人指出的那样,可以使用 AND 和 NOT 在恒定时间内计算 XOR。我如何为 AND 做同样的事情?我如何计算从 0 到 (n)^{1/2} - 1 的数字与从 0 到 (n)^{1/2} - 1 的每个数字的 AND。我想在 O(n) 中执行此操作time 并且不能使用 XOR、OR 和 AND 操作。

PS - 这里假设 RAM 模型,并且可以在恒定时间内完成对 < log(n) 位数的操作(加法、乘法、除法)。

0 投票
4 回答
8698 浏览

c# - 大量数据的最佳加密(速度至关重要)?

我对 C# 和加密比较陌生,所以请多多包涵。我正在开发一个存储大量数据的业务应用程序(在 C#、.NET 4.0、VS 2010 中),它还必须能够读取大量数据并对其进行过滤以显示它(主要在datagridview,有时只是一些计算......)。无论如何,数据都需要加密,并且必须可以仅加密和解密部分数据文件(以便从随机位置写入和读取)。速度至关重要(用户不应等待数据加载和显示),安全性次之。运行它的计算机将至少是双核 2.0+ Ghz 和至少 2GB RAM。

我考虑过使用一个相对较大(大约 1MB)的 xor pad,它将在运行时计算。我认为二进制与 xor 相结合的自定义文件设计应该提供相对较好的安全性和速度。但是现在我开始考虑使用更强大的东西,如果它仍然足够快,也许是 AES(可能是 .NET 实现:Rijindael 或 Serpent 或 Twofish)。那么你认为最好的是什么?在这种情况下,其他公司/开发商通常会使用什么?AES 有多快/多慢?I/O 操作已经很慢了,我不知道 AES 是否会使事情变得更糟,或者甚至可能不会被注意到。

或者您可能对如何足够快地加密数据有其他想法?

ps 我知道如果有人成功(!)调试或反汇编代码,他可以解密数据。

编辑:我只是为客户开发自定义应用程序,所以我不能强迫他们拥有更好的硬件,我可以推荐更好的硬件。我的软件将主要由 3 个部分组成,POS、服务器和某种管理器。如果您认为我的第一个想法(某种异或)是无用的,并且我应该使用更好的加密,请至少尝试估计哪种硬件(最小)会提供所需的结果(“足够快”=解密不应该对数据显示的影响,例如,如果加载数据并在 datagridview 中显示它需要 1 秒,那么解密应该不超过 1,2-1,3 秒)。

0 投票
4 回答
912 浏览

c++ - 为什么我的简单异或加密程序不能正确翻译字符,为什么最后会添加更多字符?

我正在制作一个基于 XOR 的加密/解密器,它的工作原理是这样的。您有一个明文字符(例如 3)和一个用户密钥(例如 5)。以位形式写入:

现在,如果我们进行异或运算,我们得到 6:

这可以通过说 6 XOR 5 来反转,即 3。

所以我做了这个程序。但它确实有问题,它不能正确翻译文本,而且它会在文件末尾添加很多字符,具体取决于您使用的键。

为什么程序不能正确翻译文本?为什么它会在文件末尾添加字符?

0 投票
7 回答
107488 浏览

java - java中两个字符串的异或运算

java中如何对两个字符串进行按位异或运算。

0 投票
1 回答
9864 浏览

php - 如何使用 PHP 撤消/反转 XOR?

XOR从概念上讲,我有点困惑。我有一个需要解密的轻型加密功能,但我不确定如何让它正常工作。

如果我的价值最初是由以下产生的:

那么,在别处,我有对应的$val和$seed,如何生成$id呢?

0 投票
8 回答
14309 浏览

language-agnostic - XOR 中的 Exclusive 到底是什么意思?

也许这对每个人来说都是显而易见的,但有人可以解释 XOR(或 Exclusive-OR)的名字来自哪里吗?独家这个词的真正含义是什么?这并不重要,但它从早上起就一直萦绕在我的脑海中。

它是“输入 1,1 的唯一 0”、“OR 的特殊版本”还是其他什么?