✅ Перевірена відповідь на це питання доступна нижче. Наші рішення, перевірені спільнотою, допомагають краще зрозуміти матеріал.
Наведений С код порівняння рядків а і b виконується за константний час:
bool secureStringCompare(const void *a, const void *b, size_t length) {
const char *ca = a, *cb = b;
uint8_t result = 0;
for (size_t i = 0; i < length; i++) {
result = result | (ca[i] ^ cb[i]);
}
return result == 0;
}