php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
php_hash.h File Reference
#include "php.h"

Go to the source code of this file.

Data Structures

struct  _php_hash_ops
 
struct  _php_hashcontext_object
 

Macros

#define PHP_HASH_EXTNAME   "hash"
 
#define PHP_HASH_VERSION   PHP_VERSION
 
#define PHP_MHASH_VERSION   PHP_VERSION
 
#define PHP_HASH_HMAC   0x0001
 
#define PHP_HASH_SERIALIZE_MAGIC_SPEC   2
 
#define L64   INT64_C
 
#define PHP_HASH_HAVAL_OPS(p, b)
 
#define phpext_hash_ptr   &hash_module_entry
 
#define PHP_HASH_API
 

Typedefs

typedef struct _php_hashcontext_object php_hashcontext_object
 
typedef void(* php_hash_init_func_t) (void *context, HashTable *args)
 
typedef void(* php_hash_update_func_t) (void *context, const unsigned char *buf, size_t count)
 
typedef void(* php_hash_final_func_t) (unsigned char *digest, void *context)
 
typedef zend_result(* php_hash_copy_func_t) (const void *ops, const void *orig_context, void *dest_context)
 
typedef zend_result(* php_hash_serialize_func_t) (const php_hashcontext_object *hash, zend_long *magic, zval *zv)
 
typedef int(* php_hash_unserialize_func_t) (php_hashcontext_object *hash, zend_long magic, const zval *zv)
 
typedef struct _php_hash_ops php_hash_ops
 

Functions

PHP_HASH_API const php_hash_opsphp_hash_fetch_ops (zend_string *algo)
 
PHP_HASH_API void php_hash_register_algo (const char *algo, const php_hash_ops *ops)
 
PHP_HASH_API zend_result php_hash_copy (const void *ops, const void *orig_context, void *dest_context)
 
PHP_HASH_API zend_result php_hash_serialize (const php_hashcontext_object *context, zend_long *magic, zval *zv)
 
PHP_HASH_API int php_hash_unserialize (php_hashcontext_object *context, zend_long magic, const zval *zv)
 
PHP_HASH_API zend_result php_hash_serialize_spec (const php_hashcontext_object *context, zval *zv, const char *spec)
 
PHP_HASH_API int php_hash_unserialize_spec (php_hashcontext_object *hash, const zval *zv, const char *spec)
 

Variables

const php_hash_ops php_hash_md2_ops
 
const php_hash_ops php_hash_md4_ops
 
const php_hash_ops php_hash_md5_ops
 
const php_hash_ops php_hash_sha1_ops
 
const php_hash_ops php_hash_sha224_ops
 
const php_hash_ops php_hash_sha256_ops
 
const php_hash_ops php_hash_sha384_ops
 
const php_hash_ops php_hash_sha512_ops
 
const php_hash_ops php_hash_sha512_256_ops
 
const php_hash_ops php_hash_sha512_224_ops
 
const php_hash_ops php_hash_sha3_224_ops
 
const php_hash_ops php_hash_sha3_256_ops
 
const php_hash_ops php_hash_sha3_384_ops
 
const php_hash_ops php_hash_sha3_512_ops
 
const php_hash_ops php_hash_ripemd128_ops
 
const php_hash_ops php_hash_ripemd160_ops
 
const php_hash_ops php_hash_ripemd256_ops
 
const php_hash_ops php_hash_ripemd320_ops
 
const php_hash_ops php_hash_whirlpool_ops
 
const php_hash_ops php_hash_3tiger128_ops
 
const php_hash_ops php_hash_3tiger160_ops
 
const php_hash_ops php_hash_3tiger192_ops
 
const php_hash_ops php_hash_4tiger128_ops
 
const php_hash_ops php_hash_4tiger160_ops
 
const php_hash_ops php_hash_4tiger192_ops
 
const php_hash_ops php_hash_snefru_ops
 
const php_hash_ops php_hash_gost_ops
 
const php_hash_ops php_hash_gost_crypto_ops
 
const php_hash_ops php_hash_adler32_ops
 
const php_hash_ops php_hash_crc32_ops
 
const php_hash_ops php_hash_crc32b_ops
 
const php_hash_ops php_hash_crc32c_ops
 
const php_hash_ops php_hash_fnv132_ops
 
const php_hash_ops php_hash_fnv1a32_ops
 
const php_hash_ops php_hash_fnv164_ops
 
const php_hash_ops php_hash_fnv1a64_ops
 
const php_hash_ops php_hash_joaat_ops
 
const php_hash_ops php_hash_murmur3a_ops
 
const php_hash_ops php_hash_murmur3c_ops
 
const php_hash_ops php_hash_murmur3f_ops
 
const php_hash_ops php_hash_xxh32_ops
 
const php_hash_ops php_hash_xxh64_ops
 
const php_hash_ops php_hash_xxh3_64_ops
 
const php_hash_ops php_hash_xxh3_128_ops
 
zend_module_entry hash_module_entry
 
PHP_HASH_API zend_class_entryphp_hashcontext_ce
 

Macro Definition Documentation

◆ L64

#define L64   INT64_C

Definition at line 30 of file php_hash.h.

◆ PHP_HASH_API

#define PHP_HASH_API

Definition at line 144 of file php_hash.h.

◆ PHP_HASH_EXTNAME

#define PHP_HASH_EXTNAME   "hash"

Definition at line 22 of file php_hash.h.

◆ PHP_HASH_HAVAL_OPS

#define PHP_HASH_HAVAL_OPS ( p,
b )
Value:
extern const php_hash_ops php_hash_##p##haval##b##_ops;
struct _php_hash_ops php_hash_ops
p
Definition session.c:1105

Definition at line 116 of file php_hash.h.

◆ PHP_HASH_HMAC

#define PHP_HASH_HMAC   0x0001

Definition at line 26 of file php_hash.h.

◆ PHP_HASH_SERIALIZE_MAGIC_SPEC

#define PHP_HASH_SERIALIZE_MAGIC_SPEC   2

Definition at line 28 of file php_hash.h.

◆ PHP_HASH_VERSION

#define PHP_HASH_VERSION   PHP_VERSION

Definition at line 23 of file php_hash.h.

◆ PHP_MHASH_VERSION

#define PHP_MHASH_VERSION   PHP_VERSION

Definition at line 24 of file php_hash.h.

◆ phpext_hash_ptr

#define phpext_hash_ptr   &hash_module_entry

Definition at line 137 of file php_hash.h.

Typedef Documentation

◆ php_hash_copy_func_t

typedef zend_result(* php_hash_copy_func_t) (const void *ops, const void *orig_context, void *dest_context)

Definition at line 37 of file php_hash.h.

◆ php_hash_final_func_t

typedef void(* php_hash_final_func_t) (unsigned char *digest, void *context)

Definition at line 36 of file php_hash.h.

◆ php_hash_init_func_t

typedef void(* php_hash_init_func_t) (void *context, HashTable *args)

Definition at line 34 of file php_hash.h.

◆ php_hash_ops

typedef struct _php_hash_ops php_hash_ops

◆ php_hash_serialize_func_t

typedef zend_result(* php_hash_serialize_func_t) (const php_hashcontext_object *hash, zend_long *magic, zval *zv)

Definition at line 38 of file php_hash.h.

◆ php_hash_unserialize_func_t

typedef int(* php_hash_unserialize_func_t) (php_hashcontext_object *hash, zend_long magic, const zval *zv)

Definition at line 39 of file php_hash.h.

◆ php_hash_update_func_t

typedef void(* php_hash_update_func_t) (void *context, const unsigned char *buf, size_t count)

Definition at line 35 of file php_hash.h.

◆ php_hashcontext_object

Definition at line 32 of file php_hash.h.

Function Documentation

◆ php_hash_copy()

PHP_HASH_API zend_result php_hash_copy ( const void * ops,
const void * orig_context,
void * dest_context )

Definition at line 124 of file hash.c.

◆ php_hash_fetch_ops()

PHP_HASH_API const php_hash_ops * php_hash_fetch_ops ( zend_string * algo)

Definition at line 105 of file hash.c.

◆ php_hash_register_algo()

PHP_HASH_API void php_hash_register_algo ( const char * algo,
const php_hash_ops * ops )

Definition at line 115 of file hash.c.

◆ php_hash_serialize()

PHP_HASH_API zend_result php_hash_serialize ( const php_hashcontext_object * context,
zend_long * magic,
zval * zv )

Definition at line 334 of file hash.c.

◆ php_hash_serialize_spec()

PHP_HASH_API zend_result php_hash_serialize_spec ( const php_hashcontext_object * context,
zval * zv,
const char * spec )

Definition at line 232 of file hash.c.

◆ php_hash_unserialize()

PHP_HASH_API int php_hash_unserialize ( php_hashcontext_object * context,
zend_long magic,
const zval * zv )

Definition at line 345 of file hash.c.

◆ php_hash_unserialize_spec()

PHP_HASH_API int php_hash_unserialize_spec ( php_hashcontext_object * hash,
const zval * zv,
const char * spec )

Definition at line 280 of file hash.c.

Variable Documentation

◆ hash_module_entry

zend_module_entry hash_module_entry
extern

Definition at line 1707 of file hash.c.

◆ php_hash_3tiger128_ops

const php_hash_ops php_hash_3tiger128_ops
extern

◆ php_hash_3tiger160_ops

const php_hash_ops php_hash_3tiger160_ops
extern

◆ php_hash_3tiger192_ops

const php_hash_ops php_hash_3tiger192_ops
extern

◆ php_hash_4tiger128_ops

const php_hash_ops php_hash_4tiger128_ops
extern

◆ php_hash_4tiger160_ops

const php_hash_ops php_hash_4tiger160_ops
extern

◆ php_hash_4tiger192_ops

const php_hash_ops php_hash_4tiger192_ops
extern

◆ php_hash_adler32_ops

const php_hash_ops php_hash_adler32_ops
extern

Definition at line 61 of file hash_adler32.c.

◆ php_hash_crc32_ops

const php_hash_ops php_hash_crc32_ops
extern

Definition at line 93 of file hash_crc32.c.

◆ php_hash_crc32b_ops

const php_hash_ops php_hash_crc32b_ops
extern

Definition at line 108 of file hash_crc32.c.

◆ php_hash_crc32c_ops

const php_hash_ops php_hash_crc32c_ops
extern

Definition at line 123 of file hash_crc32.c.

◆ php_hash_fnv132_ops

const php_hash_ops php_hash_fnv132_ops
extern

Definition at line 23 of file hash_fnv.c.

◆ php_hash_fnv164_ops

const php_hash_ops php_hash_fnv164_ops
extern

Definition at line 53 of file hash_fnv.c.

◆ php_hash_fnv1a32_ops

const php_hash_ops php_hash_fnv1a32_ops
extern

Definition at line 38 of file hash_fnv.c.

◆ php_hash_fnv1a64_ops

const php_hash_ops php_hash_fnv1a64_ops
extern

Definition at line 68 of file hash_fnv.c.

◆ php_hash_gost_crypto_ops

const php_hash_ops php_hash_gost_crypto_ops
extern

Definition at line 335 of file hash_gost.c.

◆ php_hash_gost_ops

const php_hash_ops php_hash_gost_ops
extern

Definition at line 320 of file hash_gost.c.

◆ php_hash_joaat_ops

const php_hash_ops php_hash_joaat_ops
extern

Definition at line 24 of file hash_joaat.c.

◆ php_hash_md2_ops

const php_hash_ops php_hash_md2_ops
extern

Definition at line 52 of file hash_md.c.

◆ php_hash_md4_ops

const php_hash_ops php_hash_md4_ops
extern

Definition at line 35 of file hash_md.c.

◆ php_hash_md5_ops

const php_hash_ops php_hash_md5_ops
extern

Definition at line 20 of file hash_md.c.

◆ php_hash_murmur3a_ops

const php_hash_ops php_hash_murmur3a_ops
extern

Definition at line 24 of file hash_murmur.c.

◆ php_hash_murmur3c_ops

const php_hash_ops php_hash_murmur3c_ops
extern

Definition at line 86 of file hash_murmur.c.

◆ php_hash_murmur3f_ops

const php_hash_ops php_hash_murmur3f_ops
extern

Definition at line 165 of file hash_murmur.c.

◆ php_hash_ripemd128_ops

const php_hash_ops php_hash_ripemd128_ops
extern

Definition at line 24 of file hash_ripemd.c.

◆ php_hash_ripemd160_ops

const php_hash_ops php_hash_ripemd160_ops
extern

Definition at line 39 of file hash_ripemd.c.

◆ php_hash_ripemd256_ops

const php_hash_ops php_hash_ripemd256_ops
extern

Definition at line 54 of file hash_ripemd.c.

◆ php_hash_ripemd320_ops

const php_hash_ops php_hash_ripemd320_ops
extern

Definition at line 69 of file hash_ripemd.c.

◆ php_hash_sha1_ops

const php_hash_ops php_hash_sha1_ops
extern

Definition at line 66 of file hash_sha.c.

◆ php_hash_sha224_ops

const php_hash_ops php_hash_sha224_ops
extern

Definition at line 98 of file hash_sha.c.

◆ php_hash_sha256_ops

const php_hash_ops php_hash_sha256_ops
extern

Definition at line 83 of file hash_sha.c.

◆ php_hash_sha384_ops

const php_hash_ops php_hash_sha384_ops
extern

Definition at line 615 of file hash_sha.c.

◆ php_hash_sha3_224_ops

const php_hash_ops php_hash_sha3_224_ops
extern

◆ php_hash_sha3_256_ops

const php_hash_ops php_hash_sha3_256_ops
extern

◆ php_hash_sha3_384_ops

const php_hash_ops php_hash_sha3_384_ops
extern

◆ php_hash_sha3_512_ops

const php_hash_ops php_hash_sha3_512_ops
extern

◆ php_hash_sha512_224_ops

const php_hash_ops php_hash_sha512_224_ops
extern

Definition at line 824 of file hash_sha.c.

◆ php_hash_sha512_256_ops

const php_hash_ops php_hash_sha512_256_ops
extern

Definition at line 809 of file hash_sha.c.

◆ php_hash_sha512_ops

const php_hash_ops php_hash_sha512_ops
extern

Definition at line 794 of file hash_sha.c.

◆ php_hash_snefru_ops

const php_hash_ops php_hash_snefru_ops
extern

Definition at line 205 of file hash_snefru.c.

◆ php_hash_whirlpool_ops

const php_hash_ops php_hash_whirlpool_ops
extern

Definition at line 448 of file hash_whirlpool.c.

◆ php_hash_xxh32_ops

const php_hash_ops php_hash_xxh32_ops
extern

Definition at line 25 of file hash_xxhash.c.

◆ php_hash_xxh3_128_ops

const php_hash_ops php_hash_xxh3_128_ops
extern

Definition at line 248 of file hash_xxhash.c.

◆ php_hash_xxh3_64_ops

const php_hash_ops php_hash_xxh3_64_ops
extern

Definition at line 143 of file hash_xxhash.c.

◆ php_hash_xxh64_ops

const php_hash_ops php_hash_xxh64_ops
extern

Definition at line 92 of file hash_xxhash.c.

◆ php_hashcontext_ce

PHP_HASH_API zend_class_entry* php_hashcontext_ce
extern

Definition at line 45 of file hash.c.