JAVA安卓和C# 3DES加密解密的兼容性问题(2013年8月修改版)

近 一个项目.net 要调用JAVA的WEB SERVICE,数据采用3DES加密,涉及到两种语言3DES一致性的问题,
下面分享一下,
这里的KEY采用Base64编码,便用分发,因为Java的Byte范围为-128至127,c#的Byte范围是0-255
核心是确定Mode和Padding,关于这两个的意思可以搜索3DES算法相关文章
一个是 C#采用 CBC Mode,PKCS7 Padding,Java采用CBC Mode,PKCS5Padding Padding,
另一个是C#采用ECB Mode,PKCS7 Padding,Java采用ECB Mode,PKCS5Padding Padding,
注意:Java的ECB模式不需要IV
对字符加密时,双方采用的都是UTF-8编码
下面是C#代码


 

Des3Encrypt加密解密


下面是java代码

Des3Encrypt加密解密

posted @ 2013-08-22 14:17  梨花驿路  阅读(653)  评论(0编辑  收藏  举报