private byte[] intToByteArray(int integer) {
int byteNum = (40 - Integer.numberOfLeadingZeros(integer < 0 ? ~integer
: integer)) / 8;
byte[] byteArray = new byte[4];
for (int n = 0; n < byteNum; n++)
byteArray[3 - n] = (byte) (integer >>> (n * 8));
return (byteArray);
}
public static int byteToInt2(byte[] b) {
int mask = 0xff;
int temp = 0;
int n = 0;
for (int i = 0; i < 4; i++) {
n <<= 8;
temp = b[i] & mask;
n |= temp;
}
return n;
}
public byte[] heBing(byte[] bytes) {
int length = bytes.length / 8;
byte[] result = new byte[bytes.length];
for (int i = 0; i < result.length; i++) {
result[i] = 0;
}
for (int i = 0; i < length; i++) {
result[i * 8] = 0;
for (int j = 0; j < 8; j++) {
int temp = bytes[j + i * 8];
int sr = (temp >> 7);
int temp2 = result[i * 8];
result[i] = (byte) ((temp2 << 1) | (temp >> 7));
}
}
return result;
}
public static String byte2HexStr(byte[] b) {
String stmp = "";
StringBuilder sb = new StringBuilder("");
for (int n = 0; n < b.length; n++) {
stmp = Integer.toHexString(b[n] & 0xFF);
sb.append((stmp.length() == 1) ? "0" + stmp : stmp);
sb.append(" ");
}
return sb.toString().toUpperCase().trim();
}