int setup_hashing_algorithms(state *s) { if (NULL == s) return TRUE; /* The DEFAULT_ENABLE variables are in main.h */ if (add_algorithm(s, alg_md5, "md5", 32, hash_init_md5, hash_update_md5, hash_final_md5, DEFAULT_ENABLE_MD5)) return TRUE; if (add_algorithm(s, alg_sha1, "sha1", 40, hash_init_sha1, hash_update_sha1, hash_final_sha1, DEFAULT_ENABLE_SHA1)) return TRUE; if (add_algorithm(s, alg_sha256, "sha256", 64, hash_init_sha256, hash_update_sha256, hash_final_sha256, DEFAULT_ENABLE_SHA256)) return TRUE; if (add_algorithm(s, alg_tiger, "tiger", 48, hash_init_tiger, hash_update_tiger, hash_final_tiger, DEFAULT_ENABLE_TIGER)) return TRUE; if (add_algorithm(s, alg_whirlpool, "whirlpool", 128, hash_init_whirlpool, hash_update_whirlpool, hash_final_whirlpool, DEFAULT_ENABLE_WHIRLPOOL)) return TRUE; return FALSE; }
bool algorithm_pipeline::from_xml( pugi::xml_node const & xml ) { for (pugi::xml_node algorithm_node = xml.child("algorithm"); algorithm_node; algorithm_node = algorithm_node.next_sibling("algorithm")) { if (!add_algorithm( algorithm_node )) { clear(); return false; } } return true; }