/** Compute MD5 signature using url queries keys and values following Flickr notice: http://www.flickr.com/services/api/auth.spec.html */ QString FlickrTalker::getApiSig(const QString& secret, const KUrl& url) { QMap<QString, QString> queries = url.queryItems(); QString compressed(secret); // NOTE: iterator QMap iterator will sort alphabetically items based on key values. for (QMap<QString, QString>::iterator it = queries.begin() ; it != queries.end(); ++it) { compressed.append(it.key()); compressed.append(it.value()); } KMD5 context(compressed.toUtf8()); return context.hexDigest().data(); }