зеркало из https://github.com/microsoft/git.git
hash: add an SHA-256 implementation using OpenSSL
We already have OpenSSL routines available for SHA-1, so add routines for SHA-256 as well. On a Core i7-6600U, this SHA-256 implementation compares favorably to the SHA1DC SHA-1 implementation: SHA-1: 157 MiB/s (64 byte chunks); 337 MiB/s (16 KiB chunks) SHA-256: 165 MiB/s (64 byte chunks); 408 MiB/s (16 KiB chunks) Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
27dc04c545
Коммит
4b4e291809
7
Makefile
7
Makefile
|
@ -183,6 +183,8 @@ all::
|
|||
#
|
||||
# Define GCRYPT_SHA256 to use the SHA-256 routines in libgcrypt.
|
||||
#
|
||||
# Define OPENSSL_SHA256 to use the SHA-256 routines in OpenSSL.
|
||||
#
|
||||
# Define NEEDS_CRYPTO_WITH_SSL if you need -lcrypto when using -lssl (Darwin).
|
||||
#
|
||||
# Define NEEDS_SSL_WITH_CRYPTO if you need -lssl when using -lcrypto (Darwin).
|
||||
|
@ -1638,6 +1640,10 @@ endif
|
|||
endif
|
||||
endif
|
||||
|
||||
ifdef OPENSSL_SHA256
|
||||
EXTLIBS += $(LIB_4_CRYPTO)
|
||||
BASIC_CFLAGS += -DSHA256_OPENSSL
|
||||
else
|
||||
ifdef GCRYPT_SHA256
|
||||
BASIC_CFLAGS += -DSHA256_GCRYPT
|
||||
EXTLIBS += -lgcrypt
|
||||
|
@ -1645,6 +1651,7 @@ else
|
|||
LIB_OBJS += sha256/block/sha256.o
|
||||
BASIC_CFLAGS += -DSHA256_BLK
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef SHA1_MAX_BLOCK_SIZE
|
||||
LIB_OBJS += compat/sha1-chunked.o
|
||||
|
|
2
hash.h
2
hash.h
|
@ -17,6 +17,8 @@
|
|||
|
||||
#if defined(SHA256_GCRYPT)
|
||||
#include "sha256/gcrypt.h"
|
||||
#elif defined(SHA256_OPENSSL)
|
||||
#include <openssl/sha.h>
|
||||
#else
|
||||
#include "sha256/block/sha256.h"
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче