Use openssl's SHA1 instead of bionic's.

Bionic is removing its SHA1.

Change-Id: I7d15986ebac9e0f0eb7ff93457780bd90a4f1d4f
This commit is contained in:
Dan Albert 2014-06-16 17:31:28 -07:00
parent cd13f9da99
commit 677d87ec50
2 changed files with 11 additions and 7 deletions

View File

@ -27,6 +27,7 @@ LOCAL_SRC_FILES:= \
LOCAL_SHARED_LIBRARIES := \
libbinder \
libcrypto \
libcutils \
libinput \
liblog \
@ -38,6 +39,9 @@ LOCAL_SHARED_LIBRARIES := \
# TODO: Move inputflinger to its own process and mark it hidden
#LOCAL_CFLAGS += -fvisibility=hidden
LOCAL_C_INCLUDES := \
external/openssl/include \
LOCAL_CFLAGS += -Wno-unused-parameter
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)

View File

@ -28,7 +28,6 @@
#include <sys/limits.h>
#include <sys/inotify.h>
#include <sys/ioctl.h>
#include <sys/sha1.h>
#include <sys/utsname.h>
#include <unistd.h>
@ -41,6 +40,7 @@
#include <hardware_legacy/power.h>
#include <cutils/properties.h>
#include <openssl/sha.h>
#include <utils/Log.h>
#include <utils/Timers.h>
#include <utils/threads.h>
@ -80,14 +80,14 @@ static inline const char* toString(bool value) {
}
static String8 sha1(const String8& in) {
SHA1_CTX ctx;
SHA1Init(&ctx);
SHA1Update(&ctx, reinterpret_cast<const u_char*>(in.string()), in.size());
u_char digest[SHA1_DIGEST_LENGTH];
SHA1Final(digest, &ctx);
SHA_CTX ctx;
SHA1_Init(&ctx);
SHA1_Update(&ctx, reinterpret_cast<const u_char*>(in.string()), in.size());
u_char digest[SHA_DIGEST_LENGTH];
SHA1_Final(digest, &ctx);
String8 out;
for (size_t i = 0; i < SHA1_DIGEST_LENGTH; i++) {
for (size_t i = 0; i < SHA_DIGEST_LENGTH; i++) {
out.appendFormat("%02x", digest[i]);
}
return out;