代码改变世界

.NET和JAVA中BYTE的区别以及JAVA中“DES/CBC/PKCS5PADDING” 加密解密在.NET中的实现

2015-10-16 14:02  咒语  阅读(2124)  评论(0编辑  收藏  举报

场景:java 作为客户端调用已有的一个.net写的server的webservice,输入string,返回字节数组。

问题:返回的值不是自己想要的,跟.net客户端直接调用总是有差距

分析:平台不一样,字节表达不一样 ,经过查询之后,结果如下

.NET和Java中BYTE表达确实不一样,区别如下:

1.有符号和无符号

  •  c#中字节byte的范围是0~255;
  •  java中字节byte的范围是-128~127:

2.高低位顺序不同

  •  比如16位整数10用16进制000A,在.net转换成byte数组是00 0A,而java/flash/flex等转换是0a 00

 

那么在.net中如何解决byte[]到sbyte[] 并能与JAVA平台等效沟通呢?

我原来一直在用Utf8编码,后来看别人发过来的文档,用Defaut的ANSI来实现即可。我~。。。。。。

参考:

  • http://fred-han.iteye.com/blog/1935651
  • http://www.cnblogs.com/Lawson/archive/2012/05/20/2510781.html