comparison OrthancFramework/Sources/Toolbox.cpp @ 5381:be0b9c407985

simplifying new signature of Toolbox::ComputeMD5()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 04 Sep 2023 07:44:52 +0200
parents daf4807631c5
children 1c3b0cf341f0
comparison
equal deleted inserted replaced
5380:97004471a5c5 5381:be0b9c407985
498 } 498 }
499 499
500 void Toolbox::ComputeMD5(std::string& result, 500 void Toolbox::ComputeMD5(std::string& result,
501 const std::set<std::string>& data) 501 const std::set<std::string>& data)
502 { 502 {
503 md5_state_s state; 503 std::string s;
504 md5_init(&state); 504
505 505 for (std::set<std::string>::const_iterator it = data.begin(); it != data.end(); ++it)
506 if (data.size() > 0) 506 {
507 { 507 s += *it;
508 for (std::set<std::string>::const_iterator it = data.begin(); it != data.end(); ++it) 508 }
509 { 509
510 md5_append(&state, 510 ComputeMD5(result, s);
511 reinterpret_cast<const md5_byte_t*>(it->c_str()),
512 static_cast<int>(it->size()));
513 }
514 }
515
516 md5_byte_t actualHash[16];
517 md5_finish(&state, actualHash);
518
519 result.resize(32);
520 for (unsigned int i = 0; i < 16; i++)
521 {
522 result[2 * i] = GetHexadecimalCharacter(static_cast<uint8_t>(actualHash[i] / 16));
523 result[2 * i + 1] = GetHexadecimalCharacter(static_cast<uint8_t>(actualHash[i] % 16));
524 }
525 } 511 }
526 512
527 #endif 513 #endif
528 514
529 515