xref: /PHP-7.3/ext/standard/php_password.h (revision a7ff3a64)
1 /*
2    +----------------------------------------------------------------------+
3    | PHP Version 7                                                        |
4    +----------------------------------------------------------------------+
5    | Copyright (c) 1997-2018 The PHP Group                                |
6    +----------------------------------------------------------------------+
7    | This source file is subject to version 3.01 of the PHP license,      |
8    | that is bundled with this package in the file LICENSE, and is        |
9    | available through the world-wide-web at the following url:           |
10    | http://www.php.net/license/3_01.txt                                  |
11    | If you did not receive a copy of the PHP license and are unable to   |
12    | obtain it through the world-wide-web, please send a note to          |
13    | license@php.net so we can mail you a copy immediately.               |
14    +----------------------------------------------------------------------+
15    | Authors: Anthony Ferrara <ircmaxell@php.net>                         |
16    |          Charles R. Portwood II <charlesportwoodii@erianna.com>      |
17    +----------------------------------------------------------------------+
18 */
19 
20 #ifndef PHP_PASSWORD_H
21 #define PHP_PASSWORD_H
22 
23 PHP_FUNCTION(password_hash);
24 PHP_FUNCTION(password_verify);
25 PHP_FUNCTION(password_needs_rehash);
26 PHP_FUNCTION(password_get_info);
27 
28 PHP_MINIT_FUNCTION(password);
29 
30 #define PHP_PASSWORD_DEFAULT    PHP_PASSWORD_BCRYPT
31 #define PHP_PASSWORD_BCRYPT_COST 10
32 
33 #if HAVE_ARGON2LIB
34 #define PHP_PASSWORD_ARGON2_MEMORY_COST (64 << 10)
35 #define PHP_PASSWORD_ARGON2_TIME_COST 4
36 #define PHP_PASSWORD_ARGON2_THREADS 1
37 #endif
38 
39 typedef enum {
40     PHP_PASSWORD_UNKNOWN,
41     PHP_PASSWORD_BCRYPT,
42 #if HAVE_ARGON2LIB
43     PHP_PASSWORD_ARGON2I,
44     PHP_PASSWORD_ARGON2ID,
45 #endif
46 } php_password_algo;
47 
48 #endif
49 
50 
51 /*
52  * Local variables:
53  * tab-width: 4
54  * c-basic-offset: 4
55  * End:
56  */
57