Annotation of embedaddon/php/ext/hash/php_hash_sha.h, revision 1.1
1.1 ! misho 1: /*
! 2: +----------------------------------------------------------------------+
! 3: | PHP Version 5 |
! 4: +----------------------------------------------------------------------+
! 5: | Copyright (c) 1997-2012 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: | SHA1 Author: Stefan Esser <sesser@php.net> |
! 16: | SHA256 Author: Sara Golemon <pollita@php.net> |
! 17: +----------------------------------------------------------------------+
! 18: */
! 19:
! 20: /* $Id: php_hash_sha.h 321634 2012-01-01 13:15:04Z felipe $ */
! 21:
! 22: #ifndef PHP_HASH_SHA_H
! 23: #define PHP_HASH_SHA_H
! 24:
! 25: /* When SHA is removed from Core,
! 26: the ext/standard/sha1.c file can be removed
! 27: and the ext/standard/sha1.h file can be reduced to:
! 28: #define PHP_HASH_SHA1_NOT_IN_CORE
! 29: #include "ext/hash/php_hash_sha.h"
! 30: Don't forget to remove sha1() and sha1_file() from basic_functions.c
! 31: */
! 32: #include "ext/standard/sha1.h"
! 33: #include "ext/standard/basic_functions.h"
! 34:
! 35: #ifdef PHP_HASH_SHA1_NOT_IN_CORE
! 36:
! 37: /* SHA1 context. */
! 38: typedef struct {
! 39: php_hash_uint32 state[5]; /* state (ABCD) */
! 40: php_hash_uint32 count[2]; /* number of bits, modulo 2^64 */
! 41: unsigned char buffer[64]; /* input buffer */
! 42: } PHP_SHA1_CTX;
! 43:
! 44: PHP_HASH_API void PHP_SHA1Init(PHP_SHA1_CTX *);
! 45: PHP_HASH_API void PHP_SHA1Update(PHP_SHA1_CTX *, const unsigned char *, unsigned int);
! 46: PHP_HASH_API void PHP_SHA1Final(unsigned char[20], PHP_SHA1_CTX *);
! 47:
! 48: PHP_FUNCTION(sha1);
! 49: PHP_FUNCTION(sha1_file);
! 50:
! 51: #endif /* PHP_HASH_SHA1_NOT_IN_CORE */
! 52:
! 53: /* SHA224 context. */
! 54: typedef struct {
! 55: php_hash_uint32 state[8]; /* state */
! 56: php_hash_uint32 count[2]; /* number of bits, modulo 2^64 */
! 57: unsigned char buffer[64]; /* input buffer */
! 58: } PHP_SHA224_CTX;
! 59:
! 60: PHP_HASH_API void PHP_SHA224Init(PHP_SHA224_CTX *);
! 61: PHP_HASH_API void PHP_SHA224Update(PHP_SHA224_CTX *, const unsigned char *, unsigned int);
! 62: PHP_HASH_API void PHP_SHA224Final(unsigned char[28], PHP_SHA224_CTX *);
! 63:
! 64: /* SHA256 context. */
! 65: typedef struct {
! 66: php_hash_uint32 state[8]; /* state */
! 67: php_hash_uint32 count[2]; /* number of bits, modulo 2^64 */
! 68: unsigned char buffer[64]; /* input buffer */
! 69: } PHP_SHA256_CTX;
! 70:
! 71: PHP_HASH_API void PHP_SHA256Init(PHP_SHA256_CTX *);
! 72: PHP_HASH_API void PHP_SHA256Update(PHP_SHA256_CTX *, const unsigned char *, unsigned int);
! 73: PHP_HASH_API void PHP_SHA256Final(unsigned char[32], PHP_SHA256_CTX *);
! 74:
! 75: /* SHA384 context */
! 76: typedef struct {
! 77: php_hash_uint64 state[8]; /* state */
! 78: php_hash_uint64 count[2]; /* number of bits, modulo 2^128 */
! 79: unsigned char buffer[128]; /* input buffer */
! 80: } PHP_SHA384_CTX;
! 81:
! 82: PHP_HASH_API void PHP_SHA384Init(PHP_SHA384_CTX *);
! 83: PHP_HASH_API void PHP_SHA384Update(PHP_SHA384_CTX *, const unsigned char *, unsigned int);
! 84: PHP_HASH_API void PHP_SHA384Final(unsigned char[48], PHP_SHA384_CTX *);
! 85:
! 86: /* SHA512 context */
! 87: typedef struct {
! 88: php_hash_uint64 state[8]; /* state */
! 89: php_hash_uint64 count[2]; /* number of bits, modulo 2^128 */
! 90: unsigned char buffer[128]; /* input buffer */
! 91: } PHP_SHA512_CTX;
! 92:
! 93: PHP_HASH_API void PHP_SHA512Init(PHP_SHA512_CTX *);
! 94: PHP_HASH_API void PHP_SHA512Update(PHP_SHA512_CTX *, const unsigned char *, unsigned int);
! 95: PHP_HASH_API void PHP_SHA512Final(unsigned char[64], PHP_SHA512_CTX *);
! 96:
! 97: #endif /* PHP_HASH_SHA_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>