blob: 76b80680f693973cef9493b3c888525813bc9d4a [file] [log] [blame]
Vitaly Buka45dc9df2015-12-07 21:30:19 -08001// Copyright 2015 The Weave Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "src/crypto_utils.h"
6
7bool uw_crypto_utils_equal_(const uint8_t* arr1,
8 const uint8_t* arr2,
9 size_t len) {
10 if (arr1 == NULL || arr2 == NULL) {
11 if (arr1 == NULL && arr2 == NULL && len == 0) {
12 return true;
13 }
14 return false;
15 }
16
17 uint8_t diff = 0;
18 for (size_t i = 0; i < len; i++) {
Vitaly Buka76e924f2015-12-13 18:26:02 -080019 diff |= arr1[i] ^ arr2[i];
Vitaly Buka45dc9df2015-12-07 21:30:19 -080020 }
21
22 return 0 == diff;
23}