/* * $NetBSD: crypt.h,v 1.4 2006/10/27 18:22:56 drochner Exp $ */ #include #include char *crypt_md5(const char *pw, const char *salt); char *__bcrypt(const char *, const char *); char *crypt_sha1(const char *pw, const char *salt); unsigned int crypt_sha1_iterations (unsigned int hint); void __hmac_sha1(const unsigned char *, size_t, const unsigned char *, size_t, unsigned char *); void __crypt_to64(char *s, uint32_t v, int n); int __gensalt_blowfish(char *salt, size_t saltlen, const char *option); int __gensalt_old_des(char *salt, size_t saltsiz, const char *option); int __gensalt_new_des(char *salt, size_t saltsiz, const char *option); int __gensalt_md5(char *salt, size_t saltsiz, const char *option); int __gensalt_sha1(char *salt, size_t saltsiz, const char *option); int pw_gensalt(char *salt, size_t saltlen, const char *type, const char *option); #define _PASSWORD_EFMT1 '_' #define _PASSWORD_NONDES '$' #define __UNCONST(a) ((void *)(unsigned long)(const void *)(a)) #define _PASSWORD_LEN 128 /* max length, not counting NUL */ #define MD5_MAGIC "$1$" #define MD5_MAGIC_LEN 3 #define SHA1_MAGIC "$sha1$" #define SHA1_SIZE 20 #define SHA1_DIGEST_LENGTH 20