diff options
Diffstat (limited to 'src/common/md5calc.h')
-rw-r--r-- | src/common/md5calc.h | 32 |
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 */ |