/* * kbiffcrypt.h * Copyright (C) 2005 Michael Hendricks * * $Id$ * */ #ifndef KBIFFCRYPT_H #define KBIFFCRYPT_H #include /** * @brief Useful cryptographic functions for secure authentication * * Until TQCA * (TQt Cryptographic Architecture) * becomes more widely available, * this will be the place for our custom-written, cryptography functions. * These are mostly needed to implement various forms of secure authentication * against POP3 or IMAP mail servers. */ namespace KBiffCrypt { /** * @brief Calculate HMAC-MD5 of the given text * * Calculates the HMAC-MD5 as specified in RFC 2104. The code * is originally based on the example code provided in the RFC, * but it has been modified to remove the dependency on the * OpenSSL libraries. It, instead, depends on KMD5 provided by * KDE. * * The emphasis in writing this function was readability not speed. * Since the client will authenticate itself against the server * every couple minutes (at the most), the speed of the function * is essentially unimportant. The maintainability of the code * seemed more important. That's not to say that the function is * slow, it simply hasn't been optimized for speed. If you want * to call this function several times per second, look elsewhere. * * @param text calculate the HMAC-MD5 of this text * @param key the key used when calculating the HMAC * @return the HMAC-MD5 value as a string of lower-case, hexadecimal digits */ TQString hmac_md5(const TQString& text, const TQString& key); } #endif // KBIFFCRYPT_H