aboutsummaryrefslogtreecommitdiffstats
path: root/librecrypt_equal.3
blob: cc3a38761b1730340783ba9748f070d6c0ff8d00 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
.TH LIBRECRYPT_EQUAL 3 LIBRECRYPT
.SH NAME
librecrypt_equal - Compare strings in constant time

.SH SYNOPSIS
.nf
#include <librecrypt.h>

int \fBlibrecrypt_equal\fP(const char *\fIa\fP, const char *\fIb\fP);
.fi
.PP
Link with
.IR -lrecrypt .

.SH DESCRIPTION
The
.BR librecrypt_equal ()
function compares two null byte-terminated strings
in constant time.
.PP
If the strings are of different length, the function
returns 0 after the lengths have been measured.
This should not happen when comparing password hashes,
since their length is determined by the selected
configuration.
.PP
.I a
and
.I b
must not be
.IR NULL .

.SH RETURN VALUES
The
.BR librecrypt_equal ()
function returns 1 if the strings are equal,
and 0 otherwise.

.SH ERRORS
The
.BR librecrypt_equal ()
function cannot fail.

.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.PP
.TS
allbox;
lb lb lb
l l l.
Interface	Attribute	Value
T{
.BR librecrypt_equal ()
T}	Thread safety	MT-Safe
T{
.BR librecrypt_equal ()
T}	Async-signal safety	AS-Safe
.TE
.sp

.SH HISTORY
The
.BR librecrypt_equal ()
function was introduced in version 1.0 of
.BR librecrypt .

.SH SEE ALSO
.BR librecrypt (7),
.BR librecrypt_equal_binary (3)