标签: rc4-cipher

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

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

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

python bytearray diffie-hellman long-integer rc4-cipher

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

使用openssl命令RC4无法正常工作?

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

我正在使用下一个命令:

echo -ne "test" | openssl rc4 -k test -nosalt -e -nopad | xxd
Run Code Online (Sandbox Code Playgroud)

输出是:

0000000: bdb1 7f03                                ....
Run Code Online (Sandbox Code Playgroud)

现在,如果我尝试使用这个在线RC4编码器http://www.fyneworks.com/encryption/rc4-encryption/index.asp,输出为:DA EA 54 65

不同的输出,具有相同的数据和相同的密钥?数据:"测试"键:"测试"

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

谢谢!

openssl rc4-cipher

8
推荐指数
1
解决办法
5979
查看次数

两台不同机器上的CFML中toBase64()的输出不同

最终编辑:已解决,将本地开发升级到railo 3.3.4.003解决了这个问题.


我必须RC4加密一些字符串并让它们base64编码,我遇到了相同的输入将在2个不同的开发设置上生成不同输出的情况.

例如,如果我test2@mail.com
在一台机器(DEV-1)上有一个字符串,我会得到:DunU+ucIPz/Z7Ar+HTw=
另一台(DEV-2)它将是:DunU+ucIlZfZ7Ar+HTw=

首先,我是rc4通过这里找到函数加密它.接下来我将它喂给:toBase64( my_rc4_encrypted_data, "iso-8859-1")

据我所知,rc4加密输出在两者上是相同的(或者我遗漏了一些东西).以下是来自两台机器的SERVER变量以及加密功能.

这是我们必须忍受的东西,还是我能做些什么来"正确处理"(因为缺少一个更好的词).我担心将来这会咬我,并想知道它可以避免.

编辑1: my_rc4_encrypted_data.getBytes()的输出返回:dev-1:

Native Array (byte[])
14--23--44--6--25-8-63-63--39--20-10--2-29-60
Run Code Online (Sandbox Code Playgroud)

DEV-2:

Native Array (byte[])
14--23--44--6--25-8-63-63--39--20-10--2-29-60
Run Code Online (Sandbox Code Playgroud)

(没有编码传递给getBytes())

DEV-1(远程)

server.coldfusion
productname Railo
productversion  9,0,0,1

server.java
archModel   64
vendor  Sun Microsystems Inc.
version 1.6.0_26

server.os
arch    amd64
archModel   64
name    Windows Server 2008 R2
version 6.1

server.railo
version 3.3.2.002

server.servlet
name    Resin/4.0.18
Run Code Online (Sandbox Code Playgroud)

DEV-2(本地)

server.coldfusion
productname     Railo
productversion  9,0,0,1

server.java
vendor  Oracle Corporation
version 1.7.0_01

server.os …
Run Code Online (Sandbox Code Playgroud)

base64 railo rc4-cipher cfml

8
推荐指数
1
解决办法
402
查看次数

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

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

> echo a | openssl rc4 -nosalt  -out /tmp/uuu 
enter rc4 encryption password:
Verifying - enter rc4 encryption password:

> cat /tmp/uuu | xxd
0000000: 5896                                     X.
Run Code Online (Sandbox Code Playgroud)

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

谢谢 !

encryption openssl rc4-cipher

5
推荐指数
2
解决办法
7635
查看次数

RC4加密java

您好我在尝试用Java实现RC4算法.我发现这段代码是一个帮助我理解这个想法的例子:

public class RC4 {
  private int[] S = new int[256];
  private int[] T = new int[256];
  private int keylen;

  public RC4(byte[] key) throws Exception {
    if (key.length < 1 || key.length > 256) {
      throw new Exception("key must be between 1 and 256 bytes");
    } else {
      keylen = key.length;
      for (int i = 0; i < 256; i++) {
        S[i] = i;
        T[i] = key[i % keylen];
      }
      int j = 0;
      for (int i = …
Run Code Online (Sandbox Code Playgroud)

java encryption rc4-cipher

5
推荐指数
1
解决办法
4万
查看次数

带有RC4的NodeJS加密产生空白

我有一个生成RC4加密字符串的php函数.我想使用Node解码该字符串 - 理想情况下使用内置的Crypto模块.但我无法这样做 - 我只是得到一个空白字符串.

PHP代码在这里http://code.google.com/p/rc4crypt/

我的JS代码是

crypto = require('crypto');
decipher = crypto.createDecipher("rc4", "MY SECRET KEY");
text = "HELLO";
decrypted = decipher.update(text, "utf8", "hex");
decrypted += decipher.final("hex");
console.log(decrypted);
Run Code Online (Sandbox Code Playgroud)

我没有得到任何输出.我已经使用openssl list-message-digest-algorithms检查了我的OpenSSL实现是否有RC4

我在最新节点OSX 10.8上.

我愿意使用另一个模块来解密 - 我尝试了cryptojs模块,但没有弄清楚如何让它工作 - 当我尝试RC4时给了我错误.

谢谢

javascript node.js rc4-cipher cryptojs node-crypto

5
推荐指数
1
解决办法
2530
查看次数

WEP(Shared Key Authentication),136字节的挑战响应是如何形成的?

我目前正在使用 WEP(共享密钥身份验证)质询/响应机制,希望有人能帮助我。

  1. AP 向 STA 发送挑战文本。挑战文本为 128 字节
  2. STA 对质询进行加密并将其发送回 AP。这是wireshark 中的136 字节(数据)。

我的问题:

有人能告诉我 136 字节数据质询响应的组成以及为什么它是这个大小。

为什么不是 Enc([challengetext (128)] + [icv(4)]) = 132 字节?

谢谢。

wep rc4-cipher

5
推荐指数
1
解决办法
761
查看次数

C#中的RC4加密代码有什么问题吗

我试图在C#中听取 Foxycart XML Datafeed并遇到一个归结为加密的问题.

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

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

总之,这里是(试图)通过加密的XML文件,并将其张贴到一个URL(注意DataFeedKey是,我有存储作为成员变量的字符串)模拟响应代码:

public ActionResult TestDataFeed()
{
    string transactionData = (new StreamReader(@"D:\SampleFeed.xml")).ReadToEnd();
    string encryptedTransactionData = RC4.Encrypt(DataFeedKey, transactionData, false);
    string encodedTransactionData = HttpUtility.UrlEncode(encryptedTransactionData,     Encoding.GetEncoding(1252));
    string postData = "FoxyData=" + encodedTransactionData;
    var req = (HttpWebRequest)WebRequest.Create("http://localhost:3396/FoxyCart/RecieveDataFeed");
    req.Method = "POST";
    req.ContentType = "application/x-www-form-urlencoded";
    var sw = new StreamWriter(req.GetRequestStream(), Encoding.ASCII);
    sw.Write(postData);
    sw.Close();
    HttpWebResponse resp = null;
    try
    {
        resp = (HttpWebResponse)req.GetResponse();
        string r = new StreamReader(resp.GetResponseStream()).ReadToEnd();
    }
    catch (WebException ex)
    {
        string err = new …
Run Code Online (Sandbox Code Playgroud)

c# encryption arc4random rc4-cipher

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

跳过/寻求使用RC4加密定位

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

所以我拥有的是:

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

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

加密文件没问题 - 只需针对加密实用程序的生成位运行整个文件 - 我在尝试播放视频时就做了.问题是当我想"寻找"视频中的位置时,例如我想查看2小时电影的中间部分.我目前正在做的事情,虽然非常缓慢,但它可以重置RC4加密实用程序,将其提供的数量等于我在视频中跳转到的持续时间.

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

所以问题是,它是否可能,如果是的话,我怎么能"寻找"我的RC4位发生器中的一个位置而不通过我刚刚跳过的所有不必要的字节?

每个视频的大小约为500mb左右,因此如果我寻求接近视频的末尾,那么在能够流式传输正确的数据之前,这将是大约500,000,000次无用的位迭代.

java encryption video android rc4-cipher

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

Jdk11 支持哪些密码套件算法以及哪一种最适合与 TLSv1.2 一起使用

我正在 JDK11 环境中运行 JDK8 应用程序。我正在使用 TLSv1.2 和 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 密码套件算法,我怀疑它在 JDK11 中不受支持或禁用。有 jvm 支持的密码列表,请参阅https://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html 另外,如果您在这里看到有人列出了支持的密码jdk 至 jdk1.8 https://developer.ibm.com/answers/questions/301898/where-i-can-find-list-of-cipher-suites-that-suppor/

但我想知道jdk11中支持/启用/禁用哪种密码套件算法。我正在使用 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 密码算法,但是当我尝试在 jdk 11 运行时环境中运行我的应用程序时,我收到 SSLHandshakeException(Getting javax.net.ssl.SSLHandshakeException in JDK11)。这就是为什么我试图改变我的密码套件算法,并且同样我想知道我可以在 JDK11 环境中使用哪种算法。如果我也了解 jdk11 和 jdk8 都支持的密码,那将会很有帮助。请帮我解决一下。

谢谢。

encryption rc4-cipher tls1.2 java-11 openjdk-11

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