62,628
社区成员
发帖
与我相关
我的任务
分享

public static int Hflp (byte[] url) {
int n = 0;
byte[] bytes = intTobyte(n);
for (int i= 0; i < url.length; i++) {
bytes[i % 4] ^= url[i];
}
n = byteToInt(bytes);
return n % 0x7FFFFFFF;
}
public static byte[] intTobyte (int i) {
byte[] bytes = new byte[4];
bytes[0] = (byte) (i & 0xFF);
bytes[1] = (byte) ((i >> 8) & 0xFF);
bytes[2] = (byte) ((i >> 16) & 0xFF);
bytes[3] = (byte) ((i >> 24) & 0xFF);
return bytes;
}
public static int byteToInt (byte[] bytes) {
int a = bytes[0] & 0xFF;
int b = (bytes[1] & 0xFF) << 8;
int c = (bytes[2] & 0xFF) << 16;
int d = (bytes[3] & 0xFF) << 24;
return a+b+c+d;
}




public static int Hflp (char[] url) {
int n = 0;
char[] chars = intTochar(n);
for (int i= 0; i < url.length; i++) {
chars[i % 2] ^= url[i];
}
n = charToInt(chars);
return n % 0x7FFFFFFF;
}
public static char[] intTochar (int i) {
char[] chars = new char[2];
chars[0] = (char) ((i >> 16) & 0xFFFF);
chars[1] = (char) ( i & 0xFFFF);
return chars;
}
public static int charToInt (char[] chars) {
return (chars[0] & 0xFFFF) << 16 | (chars[1] & 0xFFFF);
}