void hash_find(unsigned char *addr, unsigned int size, unsigned char *digest, unsigned char auth_alg) { crypto_result_type ret_val = CRYPTO_SHA_ERR_NONE; crypto_engine_type platform_ce_type = board_ce_type(); if (auth_alg == CRYPTO_AUTH_ALG_SHA1) { if(platform_ce_type == CRYPTO_ENGINE_TYPE_SW) /* Hardware CE is not present , use software hashing */ digest = SHA1(addr, size, digest); else if (platform_ce_type == CRYPTO_ENGINE_TYPE_HW) ret_val = crypto_sha1(addr, size, digest); else ret_val = CRYPTO_SHA_ERR_FAIL; } else if (auth_alg == CRYPTO_AUTH_ALG_SHA256) { if(platform_ce_type == CRYPTO_ENGINE_TYPE_SW) /* Hardware CE is not present , use software hashing */ digest = SHA256(addr, size, digest); else if (platform_ce_type == CRYPTO_ENGINE_TYPE_HW) ret_val = crypto_sha256(addr, size, digest); else ret_val = CRYPTO_SHA_ERR_FAIL; } else ret_val = CRYPTO_SHA_ERR_FAIL; if (ret_val != CRYPTO_SHA_ERR_NONE) { dprintf(CRITICAL, "crypto_sha256 returns error %d\n", ret_val); } }
void hash_find(unsigned char *addr, unsigned int size, unsigned char *digest, unsigned char auth_alg) { crypto_result_type ret_val = CRYPTO_SHA_ERR_NONE; if (auth_alg == 1) { #ifdef NO_CRYPTO_ENG /* Hardware CE is not present , use software hashing */ digest = SHA1(addr, size, digest); #else ret_val = crypto_sha1(addr, size, digest); #endif } else if (auth_alg == 2) { #ifdef NO_CRYPTO_ENG /* Hardware CE is not present , use software hashing */ digest = SHA256(addr, size, digest); #else ret_val = crypto_sha256(addr, size, digest); #endif } if (ret_val != CRYPTO_SHA_ERR_NONE) { dprintf(CRITICAL, "crypto_sha256 returns error %d\n", ret_val); } }