import java.nio.ByteBuffer;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
class Test {
public static void main
(String[] args
) {
try {
byte[] bs = {
(byte)0x03, (byte)0x01, (byte)0x00, (byte)0x00,
(byte)0x02, (byte)0x00, (byte)0x00, (byte)0x00
};
ByteBuffer buff = ByteBuffer.wrap(bs);
Cipher instance = Cipher.getInstance("RC4");
instance.init(Cipher.DECRYPT_MODE, new SecretKeySpec(("c2eWxyNe5c4G9GUHMQECzcUEWUK8MWkk" + "48LoIDEv8EQOrmwPirikDa3iUaickMSq").getBytes(), "RC4"));
instance.update(buff.array(), 0, 8, buff.array(), 0);
byte[] array = buff.array();
for (int j=0; j<array.length; j++) {
System.
out.
format("%02X ", array
[j
]); }
//CA 66 C4 5D 90 E7 30 01
byte[] bs1 = {
(byte)0xca, (byte)0x66, (byte)0xc4, (byte)0x5d,
(byte)0x90, (byte)0xe7, (byte)0x30, (byte)0x01
};
ByteBuffer buff1 = ByteBuffer.wrap(bs1);
Cipher instance1 = Cipher.getInstance("RC4");
instance1.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(("c2eWxyNe5c4G9GUHMQECzcUEWUK8MWkk" + "48LoIDEv8EQOrmwPirikDa3iUaickMSq").getBytes(), "RC4"));
instance1.update(buff.array(), 0, 8, buff.array(), 0);
byte[] array1 = buff.array();
for (int j=0; j<array1.length; j++) {
System.
out.
format("%02X ", array1
[j
]); }
//03 01 00 00 02 00 00 00
}
}
}
aW1wb3J0IGphdmEubmlvLkJ5dGVCdWZmZXI7CmltcG9ydCBqYXZheC5jcnlwdG8uQ2lwaGVyOwppbXBvcnQgamF2YXguY3J5cHRvLnNwZWMuU2VjcmV0S2V5U3BlYzsKCmNsYXNzIFRlc3QgeyAgCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7ICAKCiAgICAgICAgdHJ5IHsKCiAgICAgICAgICAgIGJ5dGVbXSBicyA9IHsKICAgICAgICAgICAgKGJ5dGUpMHgwMywgKGJ5dGUpMHgwMSwgKGJ5dGUpMHgwMCwgKGJ5dGUpMHgwMCwgCiAgICAgICAgICAgIChieXRlKTB4MDIsIChieXRlKTB4MDAsIChieXRlKTB4MDAsIChieXRlKTB4MDAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgQnl0ZUJ1ZmZlciBidWZmID0gQnl0ZUJ1ZmZlci53cmFwKGJzKTsKICAgICAgICAgICAgQ2lwaGVyIGluc3RhbmNlID0gQ2lwaGVyLmdldEluc3RhbmNlKCJSQzQiKTsKICAgICAgICAgICAgaW5zdGFuY2UuaW5pdChDaXBoZXIuREVDUllQVF9NT0RFLCBuZXcgU2VjcmV0S2V5U3BlYygoImMyZVd4eU5lNWM0RzlHVUhNUUVDemNVRVdVSzhNV2trIiArICI0OExvSURFdjhFUU9ybXdQaXJpa0RhM2lVYWlja01TcSIpLmdldEJ5dGVzKCksICJSQzQiKSk7CiAgICAgICAgICAgIGluc3RhbmNlLnVwZGF0ZShidWZmLmFycmF5KCksIDAsIDgsIGJ1ZmYuYXJyYXkoKSwgMCk7CiAgICAgICAgICAgIGJ5dGVbXSBhcnJheSA9IGJ1ZmYuYXJyYXkoKTsKICAgICAgICAgICAgZm9yIChpbnQgaj0wOyBqPGFycmF5Lmxlbmd0aDsgaisrKSB7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LmZvcm1hdCgiJTAyWCAiLCBhcnJheVtqXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CgkJCS8vQ0EgNjYgQzQgNUQgOTAgRTcgMzAgMDEKICAgICAgICAgICAgYnl0ZVtdIGJzMSA9IHsKICAgICAgICAgICAgKGJ5dGUpMHhjYSwgKGJ5dGUpMHg2NiwgKGJ5dGUpMHhjNCwgKGJ5dGUpMHg1ZCwgCiAgICAgICAgICAgIChieXRlKTB4OTAsIChieXRlKTB4ZTcsIChieXRlKTB4MzAsIChieXRlKTB4MDEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgQnl0ZUJ1ZmZlciBidWZmMSA9IEJ5dGVCdWZmZXIud3JhcChiczEpOwogICAgICAgICAgICBDaXBoZXIgaW5zdGFuY2UxID0gQ2lwaGVyLmdldEluc3RhbmNlKCJSQzQiKTsKICAgICAgICAgICAgaW5zdGFuY2UxLmluaXQoQ2lwaGVyLkVOQ1JZUFRfTU9ERSwgbmV3IFNlY3JldEtleVNwZWMoKCJjMmVXeHlOZTVjNEc5R1VITVFFQ3pjVUVXVUs4TVdrayIgKyAiNDhMb0lERXY4RVFPcm13UGlyaWtEYTNpVWFpY2tNU3EiKS5nZXRCeXRlcygpLCAiUkM0IikpOwogICAgICAgICAgICBpbnN0YW5jZTEudXBkYXRlKGJ1ZmYuYXJyYXkoKSwgMCwgOCwgYnVmZi5hcnJheSgpLCAwKTsKICAgICAgICAgICAgYnl0ZVtdIGFycmF5MSA9IGJ1ZmYuYXJyYXkoKTsKICAgICAgICAgICAgZm9yIChpbnQgaj0wOyBqPGFycmF5MS5sZW5ndGg7IGorKykgewogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5mb3JtYXQoIiUwMlggIiwgYXJyYXkxW2pdKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKTsKICAgICAgICAgICAgLy8wMyAwMSAwMCAwMCAwMiAwMCAwMCAwMAogICAgICAgIH1jYXRjaCAoVGhyb3dhYmxlIHRoKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbih0aCk7CiAgICAgICAgICAgIFN5c3RlbS5leGl0KDApOwogICAgICAgIH0KICAgIH0KCgp9