PHP 8.2.30
Preview: php_hash_sha3.h Size: 2.42 KB
/opt/alt/php85/usr/include/php/ext/hash/php_hash_sha3.h

/*
   +----------------------------------------------------------------------+
   | 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.               |
   +----------------------------------------------------------------------+
   | Author: Sara Golemon <pollita@php.net>                               |
   +----------------------------------------------------------------------+
*/

#ifndef PHP_HASH_SHA3_H
#define PHP_HASH_SHA3_H

typedef struct {
#ifdef HAVE_SLOW_HASH3
	unsigned char state[200]; // 5 * 5 * sizeof(uint64)
	uint32_t pos;
#else
	unsigned char state[224]; // this must fit a Keccak_HashInstance
#endif
} PHP_SHA3_CTX;
#ifdef HAVE_SLOW_HASH3
#define PHP_SHA3_SPEC "b200l."
#endif

typedef PHP_SHA3_CTX PHP_SHA3_224_CTX;
typedef PHP_SHA3_CTX PHP_SHA3_256_CTX;
typedef PHP_SHA3_CTX PHP_SHA3_384_CTX;
typedef PHP_SHA3_CTX PHP_SHA3_512_CTX;

PHP_HASH_API void PHP_SHA3224Init(PHP_SHA3_224_CTX*, ZEND_ATTRIBUTE_UNUSED HashTable *);
PHP_HASH_API void PHP_SHA3224Update(PHP_SHA3_224_CTX*, const unsigned char*, size_t);
PHP_HASH_API void PHP_SAH3224Final(unsigned char[32], PHP_SHA3_224_CTX*);

PHP_HASH_API void PHP_SHA3256Init(PHP_SHA3_256_CTX*, ZEND_ATTRIBUTE_UNUSED HashTable *);
PHP_HASH_API void PHP_SHA3256Update(PHP_SHA3_256_CTX*, const unsigned char*, size_t);
PHP_HASH_API void PHP_SAH3256Final(unsigned char[32], PHP_SHA3_256_CTX*);

PHP_HASH_API void PHP_SHA3384Init(PHP_SHA3_384_CTX*, ZEND_ATTRIBUTE_UNUSED HashTable *);
PHP_HASH_API void PHP_SHA3384Update(PHP_SHA3_384_CTX*, const unsigned char*, size_t);
PHP_HASH_API void PHP_SAH3384Final(unsigned char[32], PHP_SHA3_384_CTX*);

PHP_HASH_API void PHP_SHA3512Init(PHP_SHA3_512_CTX*, ZEND_ATTRIBUTE_UNUSED HashTable *);
PHP_HASH_API void PHP_SHA3512Update(PHP_SHA3_512_CTX*, const unsigned char*, size_t);
PHP_HASH_API void PHP_SAH3512Final(unsigned char[32], PHP_SHA3_512_CTX*);

#endif

Directory Contents

Dirs: 1 × Files: 16

Name Size Perms Modified Actions
xxhash DIR
- drwxr-xr-x 2026-03-31 07:04:58
Edit Download
6.80 KB lrw-r--r-- 2026-03-12 16:58:17
Edit Download
1.53 KB lrw-r--r-- 2026-03-12 16:58:16
Edit Download
1.83 KB lrw-r--r-- 2026-03-12 16:58:16
Edit Download
2.67 KB lrw-r--r-- 2026-03-12 16:58:16
Edit Download
1.47 KB lrw-r--r-- 2026-03-12 16:58:16
Edit Download
2.05 KB lrw-r--r-- 2026-03-12 16:58:16
Edit Download
1.44 KB lrw-r--r-- 2026-03-12 16:58:16
Edit Download
2.02 KB lrw-r--r-- 2026-03-12 16:58:16
Edit Download
2.58 KB lrw-r--r-- 2026-03-12 16:58:16
Edit Download
3.00 KB lrw-r--r-- 2026-03-12 16:58:16
Edit Download
4.66 KB lrw-r--r-- 2026-03-12 16:58:17
Edit Download
2.42 KB lrw-r--r-- 2026-03-12 16:58:17
Edit Download
1.54 KB lrw-r--r-- 2026-03-12 16:58:17
Edit Download
1.76 KB lrw-r--r-- 2026-03-12 16:58:17
Edit Download
1.51 KB lrw-r--r-- 2026-03-12 16:58:17
Edit Download
3.45 KB lrw-r--r-- 2026-03-12 16:58:17
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).