服务端用JAVA代码解密,客户端delphi利用IdMappedPortTCP转发的时候加密
已知服务端JAVA代码: public byte[] dec() {
                        int xorByte = 88;
int hiByte = this._in.read();//从封包中获取封包长度高字节
int loByte = this._in.read();//从封包中获取封包长度低字节
hiByte ^= xorByte;//用异或解密
loByte ^= xorByte;//用异或解密
final int dataLength = ((loByte << 8) + hiByte) - 2;//得到真实长度
final byte data[] = new byte[dataLength]; int readSize = 0;
for (int i = 0; (i != -1) && (readSize < dataLength); readSize += i) {//获取剩余封包
i = this._in.read(data, readSize, dataLength - readSize);
}
for(int i = 0; i < dataLength; i++) {
data[i]=(byte)(data[i] ^ _client._xorByte);
} return data;
}这段代码很简单,就是对封包用异或88来解密。
现在客户端发送的是明文封包,我需要利用delphi的IdMappedPortTCP中的OnExecute事件中对明文封包加密,然后再发送到服务端,请求高手贴上delphi中用异或加密的代码。