java 中的3DES算法,怎么转化成delphi算法,急。 ( 积分: 100 )

  • 主题发起人 主题发起人 zhangzhihui528
  • 开始时间 开始时间
Z

zhangzhihui528

Unregistered / Unconfirmed
GUEST, unregistred user!
在java中,提示代码为:
加密 Cipher wrapper = Cipher.getInstance("DESede/CBC/PKCS5Padding", "BC");
wrapper.init(Cipher.WRAP_MODE, new SecretKeySpec(key, "DESEDE"), new IvParameterSpec(IV));
byte[] cryptograph = wrapper.wrap(new SecretKeySpec(original, "DESEDE"));

解密
Cipher wrapper = Cipher.getInstance("DESede/CBC/PKCS5Padding", "BC");
wrapper.init(Cipher.UNWRAP_MODE, new SecretKeySpec(key, "DESEDE"), new IvParameterSpec(IV));
Key original = wrapper.unwrap(cryptograph, "DESede", Cipher.SECRET_KEY);


但是不知道怎么在delphi里转化用。
希望高手给个提示。
 
去下载个3des for delphi的
 
通过jini可以调用
 
3des for delphi 在什么地方下载?
 
www.2ccc.com 有下的
 
3Des不过就是Des运算三次.
加密过程:
DES加密(密钥1);
DES解密(密钥2);
DES加密(密钥3);
解密过程:
DES解密(密钥3);
DES加密(密钥2);
DES解密(密钥1);

很多时候人们把密钥1和密钥3设置为相同的
 
怎么没有人具体的指导下呢?
 
在传输过程中,整个报文是要用DES算法进行过加密的(算法和加解密调用方式参见另行的调用说明),即报文发送方传输前需要加密,报文接收方接到报文处理前需要解密。加密算法采用Tri-DES(3DES)算法,其中的调用参数如下:
加密密钥为24个 bytes的char,其值如下:
char[] key= {218,239,227,22,31,53,120,224,223,223,171,210,140,158,47,86, 122,39, 238,95,47,138,44,155};
初始化矢量为8个bytes的char,其值如下:
char[] iv = {1,2,3,4,5,6,7,8};
在调用加解密时,密钥和初始化矢量都要转换为“8859_1”的编码类型。
下面提供在java中的初始化加密实例和解密实例的调用方法,仅供参考:
加密 Cipher wrapper = Cipher.getInstance("DESede/CBC/PKCS5Padding", "BC");
wrapper.init(Cipher.WRAP_MODE, new SecretKeySpec(key, "DESEDE"), new IvParameterSpec(IV));
byte[] cryptograph = wrapper.wrap(new SecretKeySpec(original, "DESEDE"));

解密
Cipher wrapper = Cipher.getInstance("DESede/CBC/PKCS5Padding", "BC");
wrapper.init(Cipher.UNWRAP_MODE, new SecretKeySpec(key, "DESEDE"), new IvParameterSpec(IV));
Key original = wrapper.unwrap(cryptograph, "DESede", Cipher.SECRET_KEY);
 
后退
顶部