/* +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | https://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Anthony Ferrara <ircmaxell@php.net> | | Charles R. Portwood II <charlesportwoodii@erianna.com> | +----------------------------------------------------------------------+ */ #ifndef PHP_PASSWORD_H #define PHP_PASSWORD_H PHP_MINIT_FUNCTION(password); PHP_MSHUTDOWN_FUNCTION(password); #define PHP_PASSWORD_DEFAULT PHP_PASSWORD_BCRYPT #define PHP_PASSWORD_BCRYPT_COST 10 #if HAVE_ARGON2LIB /** * When updating these values, synchronize ext/sodium/sodium_pwhash.c values. * Note that libargon expresses memlimit in KB, while libsoidum uses bytes. */ #define PHP_PASSWORD_ARGON2_MEMORY_COST (64 << 10) #define PHP_PASSWORD_ARGON2_TIME_COST 4 #define PHP_PASSWORD_ARGON2_THREADS 1 #endif typedef struct _php_password_algo { const char *name; zend_string *(*hash)(const zend_string *password, zend_array *options); bool (*verify)(const zend_string *password, const zend_string *hash); bool (*needs_rehash)(const zend_string *password, zend_array *options); int (*get_info)(zval *return_value, const zend_string *hash); bool (*valid)(const zend_string *hash); } php_password_algo; extern const php_password_algo php_password_algo_bcrypt; #if HAVE_ARGON2LIB extern const php_password_algo php_password_algo_argon2i; extern const php_password_algo php_password_algo_argon2id; #endif PHPAPI int php_password_algo_register(const char*, const php_password_algo*); PHPAPI void php_password_algo_unregister(const char*); PHPAPI const php_password_algo* php_password_algo_default(void); PHPAPI zend_string *php_password_algo_extract_ident(const zend_string*); PHPAPI const php_password_algo* php_password_algo_find(const zend_string*); PHPAPI const php_password_algo* php_password_algo_identify_ex(const zend_string*, const php_password_algo*); static inline const php_password_algo* php_password_algo_identify(const zend_string *hash) { return php_password_algo_identify_ex(hash, php_password_algo_default()); } #endif
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
base64.h | File | 3.59 KB | 0644 |
|
basic_functions.h | File | 4.87 KB | 0644 |
|
basic_functions_arginfo.h | File | 125.21 KB | 0644 |
|
crc32.h | File | 4.79 KB | 0644 |
|
crc32_x86.h | File | 1.82 KB | 0644 |
|
credits.h | File | 1.53 KB | 0644 |
|
credits_ext.h | File | 5.24 KB | 0644 |
|
credits_sapi.h | File | 835 B | 0644 |
|
crypt_blowfish.h | File | 790 B | 0644 |
|
crypt_freesec.h | File | 662 B | 0644 |
|
css.h | File | 1.04 KB | 0644 |
|
datetime.h | File | 1.14 KB | 0644 |
|
dir_arginfo.h | File | 1.83 KB | 0644 |
|
dl.h | File | 1.46 KB | 0644 |
|
dl_arginfo.h | File | 269 B | 0644 |
|
exec.h | File | 1.27 KB | 0644 |
|
file.h | File | 3.93 KB | 0644 |
|
flock_compat.h | File | 2.06 KB | 0644 |
|
fsock.h | File | 1.22 KB | 0644 |
|
head.h | File | 1.53 KB | 0644 |
|
hrtime.h | File | 2.31 KB | 0644 |
|
html.h | File | 2.34 KB | 0644 |
|
html_tables.h | File | 472.26 KB | 0644 |
|
info.h | File | 22.94 KB | 0644 |
|
md5.h | File | 2.02 KB | 0644 |
|
pack.h | File | 1.05 KB | 0644 |
|
pageinfo.h | File | 1.15 KB | 0644 |
|
php_array.h | File | 2.24 KB | 0644 |
|
php_assert.h | File | 1.24 KB | 0644 |
|
php_browscap.h | File | 1.11 KB | 0644 |
|
php_crypt.h | File | 1.37 KB | 0644 |
|
php_crypt_r.h | File | 1.64 KB | 0644 |
|
php_dir.h | File | 1.28 KB | 0644 |
|
php_dns.h | File | 2.58 KB | 0644 |
|
php_ext_syslog.h | File | 1.17 KB | 0644 |
|
php_filestat.h | File | 2.1 KB | 0644 |
|
php_fopen_wrappers.h | File | 1.79 KB | 0644 |
|
php_http.h | File | 1.33 KB | 0644 |
|
php_image.h | File | 2.17 KB | 0644 |
|
php_incomplete_class.h | File | 2.15 KB | 0644 |
|
php_lcg.h | File | 1.31 KB | 0644 |
|
php_mail.h | File | 2.16 KB | 0644 |
|
php_math.h | File | 3.55 KB | 0644 |
|
php_mt_rand.h | File | 1.81 KB | 0644 |
|
php_net.h | File | 1.14 KB | 0644 |
|
php_password.h | File | 2.76 KB | 0644 |
|
php_rand.h | File | 3.05 KB | 0644 |
|
php_random.h | File | 1.86 KB | 0644 |
|
php_smart_string.h | File | 1.13 KB | 0644 |
|
php_smart_string_public.h | File | 1.14 KB | 0644 |
|
php_standard.h | File | 1.91 KB | 0644 |
|
php_string.h | File | 3.95 KB | 0644 |
|
php_uuencode.h | File | 1.18 KB | 0644 |
|
php_var.h | File | 3.41 KB | 0644 |
|
php_versioning.h | File | 1.18 KB | 0644 |
|
proc_open.h | File | 1.67 KB | 0644 |
|
quot_print.h | File | 1.23 KB | 0644 |
|
scanf.h | File | 1.95 KB | 0644 |
|
sha1.h | File | 1.62 KB | 0644 |
|
streamsfuncs.h | File | 1.11 KB | 0644 |
|
url.h | File | 2.08 KB | 0644 |
|
url_scanner_ex.h | File | 2.32 KB | 0644 |
|
user_filters_arginfo.h | File | 2.45 KB | 0644 |
|