Mercurial > hg > orthanc
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 |