MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
crypt_genhash_impl.h
1 #ifndef CRYPT_HASHGEN_IMPL_H
2 #define CRYPT_HASHGEN_IMPL_H
3 #define ROUNDS_DEFAULT 5000
4 #define ROUNDS_MIN 1000
5 #define ROUNDS_MAX 999999999
6 #define MIXCHARS 32
7 #define CRYPT_SALT_LENGTH 20
8 #define CRYPT_MAGIC_LENGTH 3
9 #define CRYPT_PARAM_LENGTH 13
10 #define SHA256_HASH_LENGTH 43
11 #define CRYPT_MAX_PASSWORD_SIZE (CRYPT_SALT_LENGTH + \
12  SHA256_HASH_LENGTH + \
13  CRYPT_MAGIC_LENGTH + \
14  CRYPT_PARAM_LENGTH)
15 
16 #include <stddef.h>
17 #include <my_global.h>
18 
19 int extract_user_salt(char **salt_begin,
20  char **salt_end);
21 C_MODE_START
22 char *
23 my_crypt_genhash(char *ctbuffer,
24  size_t ctbufflen,
25  const char *plaintext,
26  int plaintext_len,
27  const char *switchsalt,
28  const char **params);
29 void generate_user_salt(char *buffer, int buffer_len);
30 void xor_string(char *to, int to_len, char *pattern, int pattern_len);
31 
32 C_MODE_END
33 #endif