比较两个字节数组是否相同:
public static boolean isEqual(byte[] dataa, byte[] datab) {
if (dataa == datab) return true;
if (dataa == null || datab == null) {
return false;
}
if (dataa.length != datab.length) {
return false;
}
int result = 0;
// 时间开销为常数
for (int i = 0; i < dataa.length; i++) {
result |= dataa[i] ^ datab[i];// 先异或(相同为0,不同为1),再或(有一个1,就不为0)
}
return result == 0;
}