codekingpro/portable-devtools
115k
1/*-------------------------------------------------------------------------2 *3 * md5.h4 * Constants and common utilities related to MD5.5 *6 * These definitions are needed by both frontend and backend code to work7 * with MD5-encrypted passwords.8 *9 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group10 * Portions Copyright (c) 1994, Regents of the University of California11 *12 * src/include/common/md5.h13 *14 *-------------------------------------------------------------------------15 */16#ifndef PG_MD5_H17#define PG_MD5_H18 19/* Size of result generated by MD5 computation */20#define MD5_DIGEST_LENGTH 1621/* Block size for MD5 */22#define MD5_BLOCK_SIZE 6423 24/* password-related data */25#define MD5_PASSWD_CHARSET "0123456789abcdef"26#define MD5_PASSWD_LEN 3527 28/* Utilities common to all the MD5 implementations, as of md5_common.c */29extern bool pg_md5_hash(const void *buff, size_t len, char *hexsum,30 const char **errstr);31extern bool pg_md5_binary(const void *buff, size_t len, void *outbuf,32 const char **errstr);33extern bool pg_md5_encrypt(const char *passwd, const char *salt,34 size_t salt_len, char *buf,35 const char **errstr);36 37#endif /* PG_MD5_H */38 