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