constantTimeEquals function
Constant-time string comparison to prevent timing attacks.
Implementation
bool constantTimeEquals(String a, String b) {
final aBytes = utf8.encode(a);
final bBytes = utf8.encode(b);
if (aBytes.length != bBytes.length) return false;
var result = 0;
for (var i = 0; i < aBytes.length; i++) {
result |= aBytes[i] ^ bBytes[i];
}
return result == 0;
}