summaryrefslogtreecommitdiff
path: root/src/common/md5calc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/md5calc.h')
-rw-r--r--src/common/md5calc.h32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/common/md5calc.h b/src/common/md5calc.h
index 1611b6fee..b4d4995f9 100644
--- a/src/common/md5calc.h
+++ b/src/common/md5calc.h
@@ -23,16 +23,44 @@
#include "common/hercules.h"
+/** @file
+ * md5 calculation algorithm.
+ *
+ * The source code referred to the following URL.
+ * http://www.geocities.co.jp/SiliconValley-Oakland/8878/lab17/lab17.html
+ */
+
+/// The md5 interface
struct md5_interface {
+ /**
+ * Hashes a string, returning the hash in string format.
+ *
+ * @param[in] string The source string (NUL terminated).
+ * @param[out] output Output buffer (at least 33 bytes available).
+ */
void (*string) (const char *string, char *output);
+
+ /**
+ * Hashes a string, returning the buffer in binary format.
+ *
+ * @param[in] string The source string.
+ * @param[out] output Output buffer (at least 16 bytes available).
+ */
void (*binary) (const char *string, unsigned char *output);
- void (*salt) (unsigned int len, char *output);
+
+ /**
+ * Generates a random salt.
+ *
+ * @param[in] len The desired salt length.
+ * @param[out] output The output buffer (at least len bytes available).
+ */
+ void (*salt) (int len, char *output);
};
#ifdef HERCULES_CORE
void md5_defaults(void);
#endif // HERCULES_CORE
-HPShared struct md5_interface *md5;
+HPShared struct md5_interface *md5; ///< Pointer to the md5 interface.
#endif /* COMMON_MD5CALC_H */