So sánh hằng thời gian: vì sao dùng == để so token là lỗ hổng đo được
So sánh chuỗi bí mật bằng == trông vô hại, nhưng nó thoát sớm ở byte sai đầu tiên — và thời gian chạy rò rỉ số byte đúng. Bài này đo THẬT bằng Go: hàm so thoát sớm tăng đều từ 1,2 ns (0 byte đúng) tới 8,6 ns (31 byte đúng), một timing oracle rõ rệt; còn ConstantTimeCompare phẳng lì ~9,2 ns bất kể khớp bao nhiêu.