summaryrefslogtreecommitdiff
path: root/src/common/md5calc.h
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2016-03-13 20:19:26 +0100
committerHaru <haru@dotalux.com>2016-07-12 20:58:35 +0200
commitb1ad3f26233d8a2e79d88802eb75ba39be88af95 (patch)
tree6f83a52b5f2ef9d5dde13e66015c46ead18cc299 /src/common/md5calc.h
parent732c6d6019d608f9f0e151ec75c48fcc498d4f51 (diff)
downloadhercules-b1ad3f26233d8a2e79d88802eb75ba39be88af95.tar.gz
hercules-b1ad3f26233d8a2e79d88802eb75ba39be88af95.tar.bz2
hercules-b1ad3f26233d8a2e79d88802eb75ba39be88af95.tar.xz
hercules-b1ad3f26233d8a2e79d88802eb75ba39be88af95.zip
Various changes to the md5 interface
Mostly stylistic changes. Cleaned up documentation. Signed-off-by: Haru <haru@dotalux.com>
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 */