2 qq 26746679 qq_26746679 于 2015.05.29 09:56 提问

求JAVAdes加密解密和DES算法工具加密解密结果一样的 1C

图片说明如图,在网上找了很多方法,不是结果不一样就是解出来的是乱码

3个回答

llx1943llx
llx1943llx   2015.05.29 10:05

加密解密
你可以试试上面这个

gamefinity
gamefinity   Rxr 2015.05.29 10:31
  • 1.我想网上大多数的DES算法做出来的都是正确的,也就是说给它适当的数据,出来的结果是一样的。
  • 2.DES的明码、秘钥、密码都是以8个字节的倍数为单位的,其中秘钥的部分位是无效的(算法细节就不详细展开了),首先要了解8字节的倍数这一点、
  • 3.在你给出的工具上,虽然没有说,但是它在明码和秘钥两个txt框中明显要的是8个十六进制的数。这个和通常的编程用的参数是不一样的。编程用到的一般是字节数组,以8字节为单位,或者字符串(对明码来说)你给的数据形式不一样,往往是导致结果不一致的最大的原因。
  • 4.对多块(n个8字节)加密,DES有附加的一些算法,有几种包括CBC,ECB等。这些算法的目的是为了保证连续加密的时候同样的块可以计算出不同的值,使用的方法一般是先把本块的明码和上一次DES的某个中间值先进行运算,再加密。其中CBC是无运算(也就是说,连续块一样的,出来的结果也一样)。你的例子里看上去不涉及多个块,但是如果程序里有多个块,这个也要了解一下。
  • 5.在4中,对于与第一块运算的值,也是一个初始值,一般叫“初始向量(IV)”IV设置的不一样也会影响最终结果的一致性。
  • 基本上就这些了。另外为了保证你的测试工具的准确性,可以网上用多个工具进行计算,比较结果。只要明码和秘钥一样,DES出来的结果应该都是一样的。
gamefinity
gamefinity 回复qq_26746679: 你给程序的参数是什么类型的?什么值?你选一个要字节数组的,给值0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11
2 年多之前 回复
qq_26746679
qq_26746679 网上试了很多,没一个结果和我这个工具结果一样的,明码和密匙都一样
2 年多之前 回复
gamefinity
gamefinity 需要源代码的,可以参加这里:http://www.blogjava.net/amigoxie/archive/2014/07/06/415503.html
2 年多之前 回复
zzkjliu
zzkjliu   2015.05.29 10:46

des有变形的

1:一层加密;
2:一层解密;

3:N层单密钥加密;
4:N层单密钥解密;

5:N层多密钥加密;
6:N层多密钥解密;

qq_26746679
qq_26746679 知道,但是找了很多还是没找到这个一样的方法
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片