【发布时间】:2015-10-19 08:28:19
【问题描述】:
我正在开发带有 HSM 模块集成的 TCP/IP 应用程序。 我的 JAVA 代码在 Windows 32 位/JRE 32 位/IBM Websphere 7 中运行良好, 当我升级到 RedHat Linux-64 位/JRE 64 位/IBM webshere 8 时,如果我发送低于 127 长度的字符串工作正常,但超过 127 则返回响应。我也做了一些编码技术,但是面对同样的pblm请指导我。
如果 commandLength = 小于 127,工作正常,但大于 127 [UTF-8 编码失败] 因此,对于超过 127 个,我正在使用扩展 ascii,但它在 [UTF-8] 中不起作用/在 windows-1252 中工作正常 //hsmMessage.insert(0, (char)commandLength);
char[] extended_ascii = new char[1];
byte cp437bytes[]= new byte[1];
cp437bytes[0] = (byte) commandLength;
extended_ascii = new String(cp437bytes).toCharArray(); //extended_ascii = new String(cp437bytes, "CP437").toCharArray();
hsmMessage.insert(0, extended_ascii);
谢谢
【问题讨论】:
-
贴一些你试过的代码。
-
您使用
Strings 交换加密数据的事实本身就已经令人怀疑。发布您正在使用的代码。