.TH byte_start 3 .SH NAME byte_start \- find out if string b is prefix of string a .SH SYNTAX .B #include int \fBbyte_start\fP(const char *\fIa\fR,size_t \fIalen\fR,const char *\fIb\fR,size_t blen); .SH DESCRIPTION \fIbyte_start\fR returns 1 if \fIalen\fR >= \fIblen\fR and the first \fIblen\fR bytes from \fIa\fR and \fIb\fR are equal. When \fIblen\fR is too large or the strings are different, \fIbyte_start\fR does not read bytes past the first difference. An attacker observing the execution timing can thus learn where the first mismatch happened. Use \fIbyte_equal_notimingattack\fR to compare keys, passphrases, cookies or hashes instead. .SH "SEE ALSO" byte_equal(3), byte_equal_notimingattack(3), byte_starts(3)