CRYPTO_MEMCMP(3) | Library Functions Manual | CRYPTO_MEMCMP(3)

# NAME

`CRYPTO_memcmp` — constant time memory comparison

# SYNOPSIS

library “libcrypto”
`#include <openssl/crypto.h>`

int
`CRYPTO_memcmp`(const void *a, const void *b, size_t len);

# DESCRIPTION

`CRYPTO_memcmp`() compares the len bytes pointed to by a and b for equality. It takes an amount of time dependent on len, but independent of the contents of the memory regions pointed to by a and b.

# RETURN VALUES

`CRYPTO_memcmp`() returns 0 if the content of the memory regions is equal or non-zero otherwise.

# HISTORY

`CRYPTO_memcmp`() first appeared in OpenSSL 1.0.1d and has been available since OpenBSD 5.6.

# BUGS

Unlike memcmp(3) and timingsafe_memcmp(3), this function cannot be used to order the two memory regions. In the current implementation, the return value is always greater than or equal to 0.

June 8, 2025 | Debian