summaryrefslogtreecommitdiff
path: root/src/HttpResponse.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/HttpResponse.cc')
-rw-r--r--src/HttpResponse.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/HttpResponse.cc b/src/HttpResponse.cc
index e1381ad1..0c879291 100644
--- a/src/HttpResponse.cc
+++ b/src/HttpResponse.cc
@@ -408,11 +408,12 @@ void HttpResponse::getDigest(std::vector<Checksum>& result) const
break;
}
util::lowercase(hashType);
- std::string hexDigest = util::toHex(Base64::decode(digest));
- if(!MessageDigest::isValidHash(hashType, hexDigest)) {
+ digest = Base64::decode(digest);
+ if(!MessageDigest::supports(hashType) ||
+ MessageDigest::getDigestLength(hashType) != digest.size()) {
continue;
}
- result.push_back(Checksum(hashType, hexDigest));
+ result.push_back(Checksum(hashType, digest));
}
}
std::sort(result.begin(), result.end(), HashTypeStronger());