Function openssl::memcmp::eq [−][src]
pub fn eq(a: &[u8], b: &[u8]) -> bool
Returns true
iff a
and b
contain the same bytes.
This operation takes an amount of time dependent on the length of the two arrays given, but is independent of the contents of a and b.
Panics
This function will panic the current task if a
and b
do not have the same
length.
Examples
To perform a constant-time comparision of two arrays of the same length but different values:
use openssl::memcmp::eq; // We want to compare `a` to `b` and `c`, without giving // away through timing analysis that `c` is more similar to `a` // than `b`. let a = [0, 0, 0]; let b = [1, 1, 1]; let c = [0, 0, 1]; // These statements will execute in the same amount of time. assert!(!eq(&a, &b)); assert!(!eq(&a, &c));