1 | /* |
2 | +----------------------------------------------------------------------+ |
3 | | PHP Version 5 | |
4 | +----------------------------------------------------------------------+ |
5 | | Copyright (c) 1997-2015 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 | | Author: Michael Wallner <mike@php.net> | |
16 | +----------------------------------------------------------------------+ |
17 | */ |
18 | |
19 | /* $Id$ */ |
20 | |
21 | #ifndef PHP_HASH_SNEFRU_H |
22 | #define PHP_HASH_SNEFRU_H |
23 | |
24 | /* SNEFRU-2.5a with 8 passes and 256 bit hash output |
25 | * AKA "Xerox Secure Hash Function" |
26 | */ |
27 | |
28 | #include "ext/standard/basic_functions.h" |
29 | |
30 | /* SNEFRU context */ |
31 | typedef struct { |
32 | php_hash_uint32 state[16]; |
33 | php_hash_uint32 count[2]; |
34 | unsigned char length; |
35 | unsigned char buffer[32]; |
36 | } PHP_SNEFRU_CTX; |
37 | |
38 | PHP_HASH_API void PHP_SNEFRUInit(PHP_SNEFRU_CTX *); |
39 | PHP_HASH_API void PHP_SNEFRUUpdate(PHP_SNEFRU_CTX *, const unsigned char *, size_t); |
40 | PHP_HASH_API void PHP_SNEFRUFinal(unsigned char[32], PHP_SNEFRU_CTX *); |
41 | |
42 | #endif |
43 | |
44 | /* |
45 | * Local variables: |
46 | * tab-width: 4 |
47 | * c-basic-offset: 4 |
48 | * End: |
49 | * vim600: sw=4 ts=4 fdm=marker |
50 | * vim<600: sw=4 ts=4 |
51 | */ |
52 | |