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

Go to the source code of this file.

Macros

#define ROTR32(b, x)
 
#define ROTR64(b, x)
 
#define SHR(b, x)
 
#define SHA256_F0(x, y, z)
 
#define SHA256_F1(x, y, z)
 
#define SHA256_F2(x)
 
#define SHA256_F3(x)
 
#define SHA256_F4(x)
 
#define SHA256_F5(x)
 
#define SHA512_F0(x, y, z)
 
#define SHA512_F1(x, y, z)
 
#define SHA512_F2(x)
 
#define SHA512_F3(x)
 
#define SHA512_F4(x)
 
#define SHA512_F5(x)
 

Functions

PHP_HASH_API void PHP_SHA256InitArgs (PHP_SHA256_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
 
PHP_HASH_API void PHP_SHA224InitArgs (PHP_SHA224_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
 
PHP_HASH_API void PHP_SHA224Update (PHP_SHA224_CTX *context, const unsigned char *input, size_t inputLen)
 
PHP_HASH_API void PHP_SHA224Final (unsigned char digest[28], PHP_SHA224_CTX *context)
 
PHP_HASH_API void PHP_SHA256Update (PHP_SHA256_CTX *context, const unsigned char *input, size_t inputLen)
 
PHP_HASH_API void PHP_SHA256Final (unsigned char digest[32], PHP_SHA256_CTX *context)
 
PHP_HASH_API void PHP_SHA384InitArgs (PHP_SHA384_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
 
PHP_HASH_API void PHP_SHA384Update (PHP_SHA384_CTX *context, const unsigned char *input, size_t inputLen)
 
PHP_HASH_API void PHP_SHA384Final (unsigned char digest[48], PHP_SHA384_CTX *context)
 
PHP_HASH_API void PHP_SHA512InitArgs (PHP_SHA512_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
 
PHP_HASH_API void PHP_SHA512_256InitArgs (PHP_SHA512_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
 
PHP_HASH_API void PHP_SHA512_224InitArgs (PHP_SHA512_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
 
PHP_HASH_API void PHP_SHA512Update (PHP_SHA512_CTX *context, const unsigned char *input, size_t inputLen)
 
PHP_HASH_API void PHP_SHA512Final (unsigned char digest[64], PHP_SHA512_CTX *context)
 
PHP_HASH_API void PHP_SHA512_256Final (unsigned char digest[32], PHP_SHA512_CTX *context)
 
PHP_HASH_API void PHP_SHA512_224Final (unsigned char digest[28], PHP_SHA512_CTX *context)
 

Variables

const php_hash_ops php_hash_sha1_ops
 
const php_hash_ops php_hash_sha256_ops
 
const php_hash_ops php_hash_sha224_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
 

Macro Definition Documentation

◆ ROTR32

#define ROTR32 ( b,
x )
Value:
((x >> b) | (x << (32 - b)))

Definition at line 113 of file hash_sha.c.

◆ ROTR64

#define ROTR64 ( b,
x )
Value:
((x >> b) | (x << (64 - b)))

Definition at line 114 of file hash_sha.c.

◆ SHA256_F0

#define SHA256_F0 ( x,
y,
z )
Value:
(((x) & (y)) ^ ((~(x)) & (z)))

Definition at line 118 of file hash_sha.c.

◆ SHA256_F1

#define SHA256_F1 ( x,
y,
z )
Value:
(((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))

Definition at line 120 of file hash_sha.c.

◆ SHA256_F2

#define SHA256_F2 ( x)
Value:
(ROTR32( 2,(x)) ^ ROTR32(13,(x)) ^ ROTR32(22,(x)))
#define ROTR32(b, x)
Definition hash_sha.c:113

Definition at line 122 of file hash_sha.c.

◆ SHA256_F3

#define SHA256_F3 ( x)
Value:
(ROTR32( 6,(x)) ^ ROTR32(11,(x)) ^ ROTR32(25,(x)))

Definition at line 124 of file hash_sha.c.

◆ SHA256_F4

#define SHA256_F4 ( x)
Value:
(ROTR32( 7,(x)) ^ ROTR32(18,(x)) ^ SHR( 3,(x)))
#define SHR(b, x)
Definition hash_sha.c:115

Definition at line 126 of file hash_sha.c.

◆ SHA256_F5

#define SHA256_F5 ( x)
Value:
(ROTR32(17,(x)) ^ ROTR32(19,(x)) ^ SHR(10,(x)))

Definition at line 128 of file hash_sha.c.

◆ SHA512_F0

#define SHA512_F0 ( x,
y,
z )
Value:
(((x) & (y)) ^ ((~(x)) & (z)))

Definition at line 396 of file hash_sha.c.

◆ SHA512_F1

#define SHA512_F1 ( x,
y,
z )
Value:
(((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))

Definition at line 398 of file hash_sha.c.

◆ SHA512_F2

#define SHA512_F2 ( x)
Value:
(ROTR64(28, x) ^ ROTR64(34, x) ^ ROTR64(39, x))
#define ROTR64(b, x)
Definition hash_sha.c:114

Definition at line 400 of file hash_sha.c.

◆ SHA512_F3

#define SHA512_F3 ( x)
Value:
(ROTR64(14, x) ^ ROTR64(18, x) ^ ROTR64(41, x))

Definition at line 402 of file hash_sha.c.

◆ SHA512_F4

#define SHA512_F4 ( x)
Value:
(ROTR64( 1, x) ^ ROTR64( 8, x) ^ SHR(7, x))

Definition at line 404 of file hash_sha.c.

◆ SHA512_F5

#define SHA512_F5 ( x)
Value:
(ROTR64(19, x) ^ ROTR64(61, x) ^ SHR(6, x))

Definition at line 406 of file hash_sha.c.

◆ SHR

#define SHR ( b,
x )
Value:
(x >> b)

Definition at line 115 of file hash_sha.c.

Function Documentation

◆ PHP_SHA224Final()

PHP_HASH_API void PHP_SHA224Final ( unsigned char digest[28],
PHP_SHA224_CTX * context )

Definition at line 282 of file hash_sha.c.

◆ PHP_SHA224InitArgs()

PHP_HASH_API void PHP_SHA224InitArgs ( PHP_SHA224_CTX * context,
ZEND_ATTRIBUTE_UNUSED HashTable * args )

Definition at line 221 of file hash_sha.c.

◆ PHP_SHA224Update()

PHP_HASH_API void PHP_SHA224Update ( PHP_SHA224_CTX * context,
const unsigned char * input,
size_t inputLen )

Definition at line 242 of file hash_sha.c.

◆ PHP_SHA256Final()

PHP_HASH_API void PHP_SHA256Final ( unsigned char digest[32],
PHP_SHA256_CTX * context )

Definition at line 360 of file hash_sha.c.

◆ PHP_SHA256InitArgs()

PHP_HASH_API void PHP_SHA256InitArgs ( PHP_SHA256_CTX * context,
ZEND_ATTRIBUTE_UNUSED HashTable * args )

Definition at line 143 of file hash_sha.c.

◆ PHP_SHA256Update()

PHP_HASH_API void PHP_SHA256Update ( PHP_SHA256_CTX * context,
const unsigned char * input,
size_t inputLen )

Definition at line 320 of file hash_sha.c.

◆ PHP_SHA384Final()

PHP_HASH_API void PHP_SHA384Final ( unsigned char digest[48],
PHP_SHA384_CTX * context )

Definition at line 574 of file hash_sha.c.

◆ PHP_SHA384InitArgs()

PHP_HASH_API void PHP_SHA384InitArgs ( PHP_SHA384_CTX * context,
ZEND_ATTRIBUTE_UNUSED HashTable * args )

Definition at line 472 of file hash_sha.c.

◆ PHP_SHA384Update()

PHP_HASH_API void PHP_SHA384Update ( PHP_SHA384_CTX * context,
const unsigned char * input,
size_t inputLen )

Definition at line 535 of file hash_sha.c.

◆ PHP_SHA512_224Final()

PHP_HASH_API void PHP_SHA512_224Final ( unsigned char digest[28],
PHP_SHA512_CTX * context )

Definition at line 786 of file hash_sha.c.

◆ PHP_SHA512_224InitArgs()

PHP_HASH_API void PHP_SHA512_224InitArgs ( PHP_SHA512_CTX * context,
ZEND_ATTRIBUTE_UNUSED HashTable * args )

Definition at line 670 of file hash_sha.c.

◆ PHP_SHA512_256Final()

PHP_HASH_API void PHP_SHA512_256Final ( unsigned char digest[32],
PHP_SHA512_CTX * context )

Definition at line 775 of file hash_sha.c.

◆ PHP_SHA512_256InitArgs()

PHP_HASH_API void PHP_SHA512_256InitArgs ( PHP_SHA512_CTX * context,
ZEND_ATTRIBUTE_UNUSED HashTable * args )

Definition at line 652 of file hash_sha.c.

◆ PHP_SHA512Final()

PHP_HASH_API void PHP_SHA512Final ( unsigned char digest[64],
PHP_SHA512_CTX * context )

Definition at line 731 of file hash_sha.c.

◆ PHP_SHA512InitArgs()

PHP_HASH_API void PHP_SHA512InitArgs ( PHP_SHA512_CTX * context,
ZEND_ATTRIBUTE_UNUSED HashTable * args )

Definition at line 633 of file hash_sha.c.

◆ PHP_SHA512Update()

PHP_HASH_API void PHP_SHA512Update ( PHP_SHA512_CTX * context,
const unsigned char * input,
size_t inputLen )

Definition at line 690 of file hash_sha.c.

Variable Documentation

◆ php_hash_sha1_ops

const php_hash_ops php_hash_sha1_ops
Initial value:
= {
"sha1",
20,
64,
sizeof(PHP_SHA1_CTX),
1
}
PHP_HASH_API zend_result php_hash_serialize(const php_hashcontext_object *hash, zend_long *magic, zval *zv)
Definition hash.c:334
PHP_HASH_API zend_result php_hash_copy(const void *ops, const void *orig_context, void *dest_context)
Definition hash.c:124
PHP_HASH_API int php_hash_unserialize(php_hashcontext_object *hash, zend_long magic, const zval *zv)
Definition hash.c:345
void(* php_hash_final_func_t)(unsigned char *digest, void *context)
Definition php_hash.h:36
void(* php_hash_init_func_t)(void *context, HashTable *args)
Definition php_hash.h:34
void(* php_hash_update_func_t)(void *context, const unsigned char *buf, size_t count)
Definition php_hash.h:35
PHPAPI void PHP_SHA1Final(unsigned char digest[20], PHP_SHA1_CTX *context)
Definition sha1.c:215
PHPAPI void PHP_SHA1Update(PHP_SHA1_CTX *context, const unsigned char *input, size_t inputLen)
Definition sha1.c:173
PHPAPI void PHP_SHA1InitArgs(PHP_SHA1_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
Definition sha1.c:155
#define PHP_SHA1_SPEC
Definition sha1.h:26

Definition at line 66 of file hash_sha.c.

◆ php_hash_sha224_ops

const php_hash_ops php_hash_sha224_ops
Initial value:
= {
"sha224",
28,
64,
sizeof(PHP_SHA224_CTX),
1
}
PHP_HASH_API void PHP_SHA224Update(PHP_SHA224_CTX *context, const unsigned char *input, size_t inputLen)
Definition hash_sha.c:242
PHP_HASH_API void PHP_SHA224InitArgs(PHP_SHA224_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
Definition hash_sha.c:221
PHP_HASH_API void PHP_SHA224Final(unsigned char digest[28], PHP_SHA224_CTX *context)
Definition hash_sha.c:282
#define PHP_SHA224_SPEC

Definition at line 98 of file hash_sha.c.

◆ php_hash_sha256_ops

const php_hash_ops php_hash_sha256_ops
Initial value:
= {
"sha256",
32,
64,
sizeof(PHP_SHA256_CTX),
1
}
PHP_HASH_API void PHP_SHA256Final(unsigned char digest[32], PHP_SHA256_CTX *context)
Definition hash_sha.c:360
PHP_HASH_API void PHP_SHA256Update(PHP_SHA256_CTX *context, const unsigned char *input, size_t inputLen)
Definition hash_sha.c:320
PHP_HASH_API void PHP_SHA256InitArgs(PHP_SHA256_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
Definition hash_sha.c:143
#define PHP_SHA256_SPEC

Definition at line 83 of file hash_sha.c.

◆ php_hash_sha384_ops

const php_hash_ops php_hash_sha384_ops
Initial value:
= {
"sha384",
48,
128,
sizeof(PHP_SHA384_CTX),
1
}
PHP_HASH_API void PHP_SHA384Final(unsigned char digest[48], PHP_SHA384_CTX *context)
Definition hash_sha.c:574
PHP_HASH_API void PHP_SHA384Update(PHP_SHA384_CTX *context, const unsigned char *input, size_t inputLen)
Definition hash_sha.c:535
PHP_HASH_API void PHP_SHA384InitArgs(PHP_SHA384_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
Definition hash_sha.c:472
#define PHP_SHA384_SPEC

Definition at line 615 of file hash_sha.c.

◆ php_hash_sha512_224_ops

const php_hash_ops php_hash_sha512_224_ops
Initial value:
= {
"sha512/224",
28,
128,
sizeof(PHP_SHA512_CTX),
1
}
PHP_HASH_API void PHP_SHA512_224InitArgs(PHP_SHA512_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
Definition hash_sha.c:670
PHP_HASH_API void PHP_SHA512_224Final(unsigned char digest[28], PHP_SHA512_CTX *context)
Definition hash_sha.c:786
#define PHP_SHA512_224Update
#define PHP_SHA512_SPEC

Definition at line 824 of file hash_sha.c.

◆ php_hash_sha512_256_ops

const php_hash_ops php_hash_sha512_256_ops
Initial value:
= {
"sha512/256",
32,
128,
sizeof(PHP_SHA512_CTX),
1
}
PHP_HASH_API void PHP_SHA512_256InitArgs(PHP_SHA512_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
Definition hash_sha.c:652
PHP_HASH_API void PHP_SHA512_256Final(unsigned char digest[32], PHP_SHA512_CTX *context)
Definition hash_sha.c:775
#define PHP_SHA512_256Update

Definition at line 809 of file hash_sha.c.

◆ php_hash_sha512_ops

const php_hash_ops php_hash_sha512_ops
Initial value:
= {
"sha512",
64,
128,
sizeof(PHP_SHA512_CTX),
1
}
PHP_HASH_API void PHP_SHA512InitArgs(PHP_SHA512_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args)
Definition hash_sha.c:633
PHP_HASH_API void PHP_SHA512Update(PHP_SHA512_CTX *context, const unsigned char *input, size_t inputLen)
Definition hash_sha.c:690
PHP_HASH_API void PHP_SHA512Final(unsigned char digest[64], PHP_SHA512_CTX *context)
Definition hash_sha.c:731

Definition at line 794 of file hash_sha.c.