问题标签 [rc4-cipher]

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 投票
2 回答
4682 浏览

java - 是RC4还是ARCFOUR?使用 SecretKeySpec 时出现 InvalidKeyException?

我尝试在我的电脑上运行我的应用程序,但我不断得到这个东西。有没有可能我错过了一些图书馆?

代码:

可能是因为我RC4没有ARCFOUR在 ALGORITHM 变量中使用吗?当我尝试 ARCFOUR 时,我得到了这个:

好的,问题不在于代码。在服务器上,这运行得很好,没有错误。然而,在我的电脑上,它抛出了 InvalidKeyException 异常。所以它与jvm相关..有什么想法吗?

编辑: 我现在看到我得到了两个例外。不是一次,而是第一次非法密钥大小,然后没有安装提供程序。运行我的项目时,我将 ALGORITHM 设置为“ARCFOUR”。

0 投票
2 回答
8314 浏览

c# - C#中的这个RC4加密代码有什么问题吗

我正在尝试在 C# 中收听 Foxycart XML Datafeed并遇到一个归结为加密的问题。

简而言之,他们使用RC4 加密将数据作为编码和加密的 XML 发送。

为了进行测试,他们有一些(用户提交的)示例代码来使用 C# 进行测试。我尝试使用其中一位用户提供的示例 RC4 解密代码,但它似乎不起作用,他们的支持人员认为它与 C# RC4 算法有关。由于他们不是 C# 专家,我想我会在这里问。这是FoxyCart 论坛上的帖子

无论如何,这是(尝试)通过加密 XML 文件并将其发布到 URL 来模拟响应的代码(注意 DataFeedKey 是我作为成员变量存储的字符串):

这是接收响应的回调方法。

而不是在这个问题中内联发布整个 RC4 类,这里是这个 RC4 类的代码的链接

正如我在问题顶部的上述链接中发布的那样,问题是当我检查内部的变量事务时

方法,我应该返回常规的 XML,但我看到的是:

代码看起来正确:

  1. 加密
  2. 编码
  3. 解码
  4. 解密

但它似乎没有工作。关于上面可能有什么问题的任何建议?

0 投票
2 回答
8057 浏览

encryption - openssl 命令行加密 RC4,不是预期的结果,不明白

这可能是一个愚蠢的问题,但我无法弄清楚。目前,我正在使用这个网站:http : //www.fyneworks.com/encryption/rc4-encryption/ 对 rc4 进行加密以进行概念验证。例如,我输入 'a' 作为明文,'a' 作为密码,我得到 '71' 作为密文(这是 'q' 的 ascii 表示)。我想从命令行做同样的事情,使用 openssl:

所以我们得到的是“5896”而不是“71”,这是我不明白的。如果有人可以向我解释,我将不胜感激。

谢谢 !

0 投票
10 回答
120929 浏览

python - 将 python long/int 转换为固定大小的字节数组

我正在尝试在 python 中实现 RC4 和 DH 密钥交换。问题是我不知道如何将 python long/int 从密钥交换转换为 RC4 实现所需的字节数组。有没有一种简单的方法可以将 long 转换为所需长度的字节数组?

更新:忘了提到我正在处理的数字是 768 位无符号整数。

0 投票
3 回答
2872 浏览

objective-c - Objective-C RC4 解密

我是 Objective-C 的新手,但我是一位经验丰富的开发人员 (C#),但我无法弄清楚:

我有一个 RC4 加密的字符串,我需要在 iPad (iOS 5.0) 上使用 Objective-C 对其进行解密。我在网上寻找了一个工作示例,但没有找到一个端到端工作的示例。下面的代码不仅没有正确返回解密的字符串,而且每次执行时都会返回不同的东西,这让我觉得指针正在某个地方释放。

注意:我不知道这是否重要,但字符串是使用http://archive.plugins.jquery.com/project/RC4加密的,然后作为文本存储在 Sqlite 数据库中,我现在从 Objective-C 访问该数据库(我知道,架构听起来很乱,但我现在无法改变。)

我使用的代码是(取自RC4 加密 - CommonCrypto (Objective-C) vs PHP):

0 投票
1 回答
3111 浏览

android - Android - 使用 RC4 和 Cipher

那么,我该怎么做呢?在任何地方都找不到任何成功使用 RC4 的示例。另外,做 cipher = Cipher.getInstance("RC4"); 返回 NoSuchAlgorithm 异常

0 投票
1 回答
7259 浏览

openssl - RC4 不能与 openssl 命令正常工作?

我需要使用 RC4 对执行结果进行编码。在执行 bash 脚本之前,我正在测试如何加密数据。

我正在使用下一个命令:

输出是:

现在,如果我尝试对这个在线 RC4 编码器http://www.fyneworks.com/encryption/rc4-encryption/index.asp做同样的事情,输出是:DA EA 54 65

不同的输出,相同的数据和相同的键?数据:“测试”键:“测试”

我还检查了一个我用 C 编写的小程序,其输出与在线编码器相同......所以,问题是,我对命令 openssl 做错了什么?

谢谢!

0 投票
1 回答
993 浏览

java - 使用 RC4 加密跳过/寻找定位

当我想在流式传输加密视频时“跳”到某个位置时,我遇到了这个问题

所以我所拥有的是:

http 流媒体服务器(本地,在 Android 设备上运行)本机 android Media Player RC4 加密实用程序

基本上,我将加密视频存储在 sdcard 中,我想使用我的 http 流服务器将其流式传输到媒体播放器。服务器已经通过使用 RC4 加密实用程序在将字节写出到 OutputStream 之前转换字节来即时进行加密,这实际上是有效的。

加密文件没问题 - 只需针对加密实用程序的生成位运行整个文件 - 我只是在尝试播放视频时重新执行此操作。问题是当我想“寻找”视频中的一个位置时,例如我想观看一部 2 小时电影的中间部分。我目前正在做的工作,尽管速度很慢,但它是重置 RC4 加密实用程序,提供的数量等于我在视频中跳转到的持续时间。

如果我在这里的解释听起来不是很清楚,请原谅我,但如果你真的使用 RC4 加密和流媒体,你应该遇到同样的问题。

所以问题是,有没有可能,如果有的话,我怎样才能“寻找”我的 RC4 位生成器中的一个位置,而不通过我刚刚跳过的所有不必要的字节?

每个视频的大小约为 500mb 左右,因此,如果我寻找到视频接近尾声,那么在能够流式传输正确数据之前,大约需要进行 500,000,000 次无用的比特迭代。

0 投票
0 回答
7041 浏览

python - 在 Python 中使用密钥进行 RC4 解密

我从这里为asp http://bytes.com/topic/access/insights/906671-rc4-encryption-algorithm-vba-vbscript提取了这段代码,然后我通过base64运行。

我想知道是否有人可以帮助我弄清楚如何用 Python 编写解密片段。因为解密将发生在我的 Python 服务器页面上。

找到这个http://www.id-snippet.com/20801/python-rc4-cipher/,但它没有从第一个链接解密 RC4 asp。

-吉姆

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% ASP 页面

Python 服务器页面

无法弄清楚为什么使用相同的密钥“1234”时python解密不呈现原始字符串

0 投票
2 回答
673 浏览

encryption - 为 16 位系统编写 RC4

我正在为 DCPU-16 编写 RC4,但是在开始之前我有一些问题。

RC4算法:

由于我正在使用 16 位字,因此每个元素的S[]范围都可以是 0-65535,而不是预期的 0-255。K 需要为 0-65535,处理这个问题的最佳方法是什么?

我看到的选项(及其问题)是:

  1. 仍然Mod 255在任何地方使用并用连接的两轮填充输出(运行时间更长,我想保持我的CPB尽可能低)
  2. 调整 RC4 所以K将是一个 16 位的数字,同时仍然使用长度为 255 的数组S[](我想做正确的加密,所以我担心在修补 RC4 时会出错。)

我最好的选择是什么?我觉得我可能必须做#1,但我希望这里的人们能给我灌输信心去做#3。