37 #include <sys/types.h>
41 #define u_int8_t uint8_t
42 #define u_int16_t uint16_t
43 #define u_int32_t uint32_t
44 #define u_int64_t uint64_t
48 #define u_int8_t unsigned __int8
49 #define u_int16_t unsigned __int16
50 #define u_int32_t unsigned __int32
51 #define u_int64_t unsigned __int64
55 #if defined(_WIN32) || defined(_WIN64)
57 typedef __int64 LONG_PTR;
59 typedef long LONG_PTR;
61 typedef LONG_PTR SSIZE_T;
62 typedef SSIZE_T ssize_t;
67 typedef unsigned char u_int8_t;
68 typedef unsigned short u_int16_t;
69 typedef unsigned int u_int32_t;
70 typedef unsigned long long u_int64_t;
73 #define BCRYPT_VERSION '2'
74 #define BCRYPT_MAXSALT 16
75 #define BCRYPT_BLOCKS 6
76 #define BCRYPT_MINROUNDS 16
86 #define BLF_MAXKEYLEN ((BLF_N-2)*4)
87 #define BLF_MAXUTILIZED ((BLF_N+2)*4)
89 #define _PASSWORD_LEN 128
95 u_int32_t
P[BLF_N + 2];
104 void Blowfish_encipher(
blf_ctx *, u_int32_t *, u_int32_t *);
105 void Blowfish_decipher(
blf_ctx *, u_int32_t *, u_int32_t *);
106 void Blowfish_initstate(
blf_ctx *);
107 void Blowfish_expand0state(
blf_ctx *,
const u_int8_t *, u_int16_t);
108 void Blowfish_expandstate
109 (
blf_ctx *,
const u_int8_t *, u_int16_t,
const u_int8_t *, u_int16_t);
113 void blf_key(
blf_ctx *,
const u_int8_t *, u_int16_t);
114 void blf_enc(
blf_ctx *, u_int32_t *, u_int16_t);
115 void blf_dec(
blf_ctx *, u_int32_t *, u_int16_t);
117 void blf_ecb_encrypt(
blf_ctx *, u_int8_t *, u_int32_t);
118 void blf_ecb_decrypt(
blf_ctx *, u_int8_t *, u_int32_t);
120 void blf_cbc_encrypt(
blf_ctx *, u_int8_t *, u_int8_t *, u_int32_t);
121 void blf_cbc_decrypt(
blf_ctx *, u_int8_t *, u_int8_t *, u_int32_t);
124 u_int32_t Blowfish_stream2word(
const u_int8_t *, u_int16_t , u_int16_t *);
127 void bcrypt_gensalt(
char, u_int8_t, u_int8_t*,
char *);
128 void node_bcrypt(
const char *,
size_t key_len,
const char *,
char *);
129 void encode_salt(
char *, u_int8_t *,
char, u_int16_t, u_int8_t);
130 u_int32_t bcrypt_get_rounds(
const char *);