- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Bouncy caSTLe 已使用 XTEAEngine 类提供 XTEA 加密。类属性如下所示:
private static final int rounds = 32,
block_size = 8,
key_size = 16,
delta = 0x9E3779B9,
d_sum = 0xC6EF3720; // sum on decrypt
但是闭源 C++ 应用程序使用以下设置(32 轮):
uint32 增量 = 0x61C88647;
uint32总和= 0xC6EF3720;
因此,为了更改它,我复制了 BC XTEAEngine 类的整个代码,在更改的增量处将其命名为 XTEAEngine2。但现在加密并没有按预期工作:
arr given : [11, 0, 10, 8, 0, 72, 105, 32, 116, 104, 101, 114, 101, 0, 0, 0]
arr encrypted: [-128, -26, -32, 17, 7, 98, 80, -112, 26, -83, -11, 47, -124, -50, -80, 59]
arr decrypted: [-106, 62, 110, -40, -56, -58, 18, -101, -38, -73, -83, 95, 18, -99, -84, -37]
在我改变之前一切都很好:
arr given : [11, 0, 10, 8, 0, 72, 105, 32, 116, 104, 101, 114, 101, 0, 0, 0]
arr encrypted: [89, -95, -88, 120, -117, 39, 57, -126, 23, -74, 35, 105, -23, -7, -109, -27]
arr decrypted: [11, 0, 10, 8, 0, 72, 105, 32, 116, 104, 101, 114, 101, 0, 0, 0]
我正在使用 BouncyCaSTLe XTEA,如下所示:
BlockCipher engine = new XTEAEngine[2]();
BufferedBlockCipher cipher = new BufferedBlockCipher(engine);
KeyParameter kp = new KeyParameter(keyArr);
private byte[] callCipher( byte[] data )
throws CryptoException {
int size =
cipher.getOutputSize( data.length );
byte[] result = new byte[ size ];
int olen = cipher.processBytes( data, 0,
data.length, result, 0 );
olen += cipher.doFinal( result, olen );
if( olen < size ){
byte[] tmp = new byte[ olen ];
System.arraycopy(
result, 0, tmp, 0, olen );
result = tmp;
}
return result;
}
public synchronized byte[] encrypt( byte[] data )
throws CryptoException {
if( data == null || data.length == 0 ){
return new byte[0];
}
cipher.init( true, kp );
return callCipher( data );
}
public synchronized byte[] decrypt( byte[] data )
throws CryptoException {
if( data == null || data.length == 0 ){
return new byte[0];
}
cipher.init( false, kp );
return callCipher( data );
}
有人能指出我的错误吗?因为我相信我在某个地方做了一个。我什至使用维基百科的算法规范完全自己实现了 XTEA,但同样的事情发生了。
最佳答案
0x9E3779B9
是0x61C88647
的二进制补码负数;这对我来说表明加法和减法在某处交换了。
关于java - 我的 BC XTEA 实现不起作用,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11270293/
如何使用 Java 中的 XTEA 方案加密字符串。 谢谢 public class run { public static void main(String[] args)
我正在尝试测试 this在 Python 中实现 xtea 算法。我发现的唯一测试向量是 these .如何测试算法的输出以便按字节进行比较?我应该选择哪个密码/ key ?哪个字节序最好?(我在 6
Bouncy caSTLe 已使用 XTEAEngine 类提供 XTEA 加密。类属性如下所示: private static final int rounds = 32,
我在将 C++ 代码转换为 PHP 时遇到了一些问题。目的是我需要使用 XTEA 密码 将我的应用程序(使用 C++ 构建)与 Web 服务器 (PHP) 通信,以通过 XMLRPC 加密/解密请求的
我需要使用 XTEA 算法对一些 String 进行加密,并找到了 this code但我不确定如何使用它,我得到了一个 java.lang.ArrayIndexOutOfBoundsExceptio
我正在尝试在网站和 Arduino 之间建立通信。我需要对从我的网站到 Arduino 的所有消息进行身份验证,所以我发现使用 XTEA 的时间成本较低。密码学。 我的网站 PHP 代码是: mcry
我在将一些 C 代码翻译成 Python 时遇到问题。我已尽力模拟 C 整数溢出的本质,但到目前为止还没有成功。如果有人有一些见解,我将不胜感激,因为我是 python 新手。加解密如下: itera
我正在尝试使用 XTEA 加密 std::vector。因为使用 std::vector 带来了处理大量数据的各种好处,所以我想使用它。 XTEA-Alogrithm 使用两个采用 64 位数据的无符
我在 C 和 Delphi 上编写一个应用程序,我在两者上都有 XTEA 加密,它完全一样但问题是输出不同,即使 delta 和 N 相同。我真的不知道怎么了 这是Delphi代码 type TT
我是一名优秀的程序员,十分优秀!