java des加密 DES/CBC/PKCS5Padding 与php 解密

robin嘟嘟 2013-05-08 10:06:51
目前我要测试一个php写的接口,文档中提供:
DES加密解密工作模式、填充方式约定:
 工作模式:CBC
 填充方式:PKCS7
java中只有pkcs5,因此我才用DES/CBC/PKCS5Padding这个方式进行加密,采用对方提供的key和iv,但是加密后,对方解密返回:数据解码失败。
请问这最可能是由于什么原因造成?

// 加密数据
public static String encrypt(String message, String key, String ivStr)
throws Exception {

Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
DESKeySpec desKeySpec = new DESKeySpec(key.getBytes());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
IvParameterSpec iv = new IvParameterSpec(ivStr.getBytes());
cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);
byte[] byteMi = cipher.doFinal(message.getBytes());
return new String(byteMi);

}
...全文
499 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
robin嘟嘟 2014-11-19
  • 打赏
  • 举报
回复
由于php语言和java语言不一致造成的,对方也需要base64加密一下即可。
狮子座的幻想 2013-12-12
  • 打赏
  • 举报
回复
我也碰到这种问题,还不知道怎么解决
robin嘟嘟 2013-05-08
  • 打赏
  • 举报
回复
没人回答一下啊

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧