22"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
28 if (size < 2 ||
output_size < 2 + 1 || (count && count != 25))
53 (count && (count > 0xffffff || !(count & 1))))
69 ((
unsigned long) (
unsigned char)
input[1] << 8) |
70 ((
unsigned long) (
unsigned char)
input[2] << 16);
86 if (size < 3 ||
output_size < 3 + 4 + 1 || (count && count != 1000))
97 ((
unsigned long) (
unsigned char)
input[1] << 8) |
98 ((
unsigned long) (
unsigned char)
input[2] << 16);
108 ((
unsigned long) (
unsigned char)
input[4] << 8) |
109 ((
unsigned long) (
unsigned char)
input[5] << 16);
123"./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
128 const unsigned char *
sptr = (
const unsigned char *) src;
129 const unsigned char *end =
sptr + size;
130 unsigned char *
dptr = (
unsigned char *)
dst;
138 c1 = (
c1 & 0x03) << 4;
148 c1 = (
c2 & 0x0f) << 2;
159 }
while (
sptr < end);
181 output[4] =
'0' + count / 10;
182 output[5] =
'0' + count % 10;
206 errmsg(
"invalid size of salt"));
215 errmsg(
"invalid length of salt buffer"));
222 errmsg(
"cannot format salt string"));
233 for (
int i = 0;
i < size;
i++)
246 char const *
input,
int size,
261 const char *
input,
int size,
char * _crypt_gensalt_sha512_rn(unsigned long count, char const *input, int size, char *output, int output_size)
char * _crypt_gensalt_traditional_rn(unsigned long count, const char *input, int size, char *output, int output_size)
char * _crypt_gensalt_sha256_rn(unsigned long count, const char *input, int size, char *output, int output_size)
static unsigned char _crypt_itoa64[64+1]
char * _crypt_gensalt_md5_rn(unsigned long count, const char *input, int size, char *output, int output_size)
static char * _crypt_gensalt_sha(unsigned long count, const char *input, int size, char *output, int output_size)
static unsigned char BF_itoa64[64+1]
static void BF_encode(char *dst, const BF_word *src, int size)
char * _crypt_gensalt_blowfish_rn(unsigned long count, const char *input, int size, char *output, int output_size)
char * _crypt_gensalt_extended_rn(unsigned long count, const char *input, int size, char *output, int output_size)
int errcode(int sqlerrcode)
#define ereport(elevel,...)
int int pg_snprintf(char *str, size_t count, const char *fmt,...) pg_attribute_printf(3
#define PX_SHACRYPT_SALT_BUF_LEN
#define PX_SHACRYPT_SALT_MAX_LEN