GRAYBYTE WORDPRESS FILE MANAGER9038

Server IP : 198.54.121.189 / Your IP : 216.73.216.112
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/cpanel/ea-apr16/include/apr-1/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/cpanel/ea-apr16/include/apr-1//apr_siphash.h
/* Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/*
   SipHash reference C implementation
   Copyright (c) 2012-2014 Jean-Philippe Aumasson
   <jeanphilippe.aumasson@gmail.com>
   Copyright (c) 2012-2014 Daniel J. Bernstein <djb@cr.yp.to>
   To the extent possible under law, the author(s) have dedicated all copyright
   and related and neighboring rights to this software to the public domain
   worldwide. This software is distributed without any warranty.
   You should have received a copy of the CC0 Public Domain Dedication along
   with this software. If not, see
   <http://creativecommons.org/publicdomain/zero/1.0/>.
 */

#ifndef APR_SIPHASH_H
#define APR_SIPHASH_H

#include "apr.h"
#include "apu.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @file apr_siphash.h
 * @brief APR-UTIL siphash library
 *        "SipHash-c-d is a family of pseudorandom functions (a.k.a. keyed
 *        hash functions) optimized for speed on short messages", designed by
 *        Jean-Philippe Aumasson and Daniel J. Bernstein. It generates a 64bit
 *        hash (or MAC) from the message and a 128bit key.
 *        See http://cr.yp.to/siphash/siphash-20120620.pdf for the details,
 *        c is the number of compression rounds, d the number of finalization
 *        rounds; we also define fast implementations for c = 2 with d = 4 (aka
 *        siphash-2-4), and c = 4 with d = 8 (aka siphash-4-8), as recommended
 *        parameters per the authors.
 */

/** size of the siphash digest */
#define APR_SIPHASH_DSIZE 8

/** size of the siphash key */
#define APR_SIPHASH_KSIZE 16


/**
 * @brief Computes SipHash-c-d, producing a 64bit (APR_SIPHASH_DSIZE) hash
 * from a message and a 128bit (APR_SIPHASH_KSIZE) secret key.
 * @param src The message
 * @param len The length of the message
 * @param key The secret key
 * @param c   The number of compression rounds
 * @param d   The number of finalization rounds
 * @return The hash value as a 64bit unsigned integer
 */
APU_DECLARE(apr_uint64_t) apr_siphash(const void *src, apr_size_t len,
                              const unsigned char key[APR_SIPHASH_KSIZE],
                                      unsigned int c, unsigned int d);

/**
 * @brief Computes SipHash-c-d, producing a 64bit (APR_SIPHASH_DSIZE) hash
 * from a message and a 128bit (APR_SIPHASH_KSIZE) secret key, into a possibly
 * unaligned buffer (using the little endian representation as defined by the
 * authors for interoperabilty) usable as a MAC.
 * @param out The output buffer (or MAC)
 * @param src The message
 * @param len The length of the message
 * @param key The secret key
 * @param c   The number of compression rounds
 * @param d   The number of finalization rounds
 * @return The hash value as a 64bit unsigned integer
 */
APU_DECLARE(void) apr_siphash_auth(unsigned char out[APR_SIPHASH_DSIZE],
                                   const void *src, apr_size_t len,
                             const unsigned char key[APR_SIPHASH_KSIZE],
                                   unsigned int c, unsigned int d);

/**
 * @brief Computes SipHash-2-4, producing a 64bit (APR_SIPHASH_DSIZE) hash
 * from a message and a 128bit (APR_SIPHASH_KSIZE) secret key.
 * @param src The message to hash
 * @param len The length of the message
 * @param key The secret key
 * @return The hash value as a 64bit unsigned integer
 */
APU_DECLARE(apr_uint64_t) apr_siphash24(const void *src, apr_size_t len,
                               const unsigned char key[APR_SIPHASH_KSIZE]);

/**
 * @brief Computes SipHash-2-4, producing a 64bit (APR_SIPHASH_DSIZE) hash
 * from a message and a 128bit (APR_SIPHASH_KSIZE) secret key, into a possibly
 * unaligned buffer (using the little endian representation as defined by the
 * authors for interoperabilty) usable as a MAC.
 * @param out The output buffer (or MAC)
 * @param src The message
 * @param len The length of the message
 * @param key The secret key
 * @return The hash value as a 64bit unsigned integer
 */
APU_DECLARE(void) apr_siphash24_auth(unsigned char out[APR_SIPHASH_DSIZE],
                                     const void *src, apr_size_t len,
                               const unsigned char key[APR_SIPHASH_KSIZE]);

/**
 * @brief Computes SipHash-4-8, producing a 64bit (APR_SIPHASH_DSIZE) hash
 * from a message and a 128bit (APR_SIPHASH_KSIZE) secret key.
 * @param src The message
 * @param len The length of the message
 * @param key The secret key
 * @return The hash value as a 64bit unsigned integer
 */
APU_DECLARE(apr_uint64_t) apr_siphash48(const void *src, apr_size_t len,
                               const unsigned char key[APR_SIPHASH_KSIZE]);

/**
 * @brief Computes SipHash-4-8, producing a 64bit (APR_SIPHASH_DSIZE) hash
 * from a message and a 128bit (APR_SIPHASH_KSIZE) secret key, into a possibly
 * unaligned buffer (using the little endian representation as defined by the
 * authors for interoperabilty) usable as a MAC.
 * @param out The output buffer (or MAC)
 * @param src The message
 * @param len The length of the message
 * @param key The secret key
 * @return The hash value as a 64bit unsigned integer
 */
APU_DECLARE(void) apr_siphash48_auth(unsigned char out[APR_SIPHASH_DSIZE],
                                     const void *src, apr_size_t len,
                               const unsigned char key[APR_SIPHASH_KSIZE]);

#ifdef __cplusplus
}
#endif

#endif  /* APR_SIPHASH_H */

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 22 2025 09:10:35
root / root
0755
apr-x86_64.h
17.909 KB
May 22 2025 09:10:35
root / root
0644
apr.h
0.621 KB
May 22 2025 09:10:36
root / root
0644
apr_allocator.h
6.071 KB
May 22 2025 09:10:35
root / root
0644
apr_anylock.h
4.932 KB
September 27 2023 15:55:48
root / root
0644
apr_atomic.h
6.043 KB
May 22 2025 09:10:35
root / root
0644
apr_base64.h
3.754 KB
September 27 2023 15:55:48
root / root
0644
apr_buckets.h
63.146 KB
September 27 2023 15:55:48
root / root
0644
apr_crypto.h
19.685 KB
September 27 2023 15:55:48
root / root
0644
apr_cstr.h
11.131 KB
May 22 2025 09:10:35
root / root
0644
apr_date.h
3.471 KB
September 27 2023 15:55:48
root / root
0644
apr_dbd.h
23.349 KB
September 27 2023 15:55:48
root / root
0644
apr_dbm.h
8.397 KB
September 27 2023 15:55:48
root / root
0644
apr_dso.h
2.637 KB
May 22 2025 09:10:35
root / root
0644
apr_encode.h
30.349 KB
May 22 2025 09:10:35
root / root
0644
apr_env.h
2.056 KB
May 22 2025 09:10:35
root / root
0644
apr_errno.h
53.771 KB
May 22 2025 09:10:35
root / root
0644
apr_escape.h
17.232 KB
May 22 2025 09:10:35
root / root
0644
apr_file_info.h
17.172 KB
May 22 2025 09:10:35
root / root
0644
apr_file_io.h
42.881 KB
May 22 2025 09:10:35
root / root
0644
apr_fnmatch.h
6.083 KB
May 22 2025 09:10:35
root / root
0644
apr_general.h
7.337 KB
May 22 2025 09:10:35
root / root
0644
apr_getopt.h
5.84 KB
May 22 2025 09:10:35
root / root
0644
apr_global_mutex.h
7.188 KB
May 22 2025 09:10:35
root / root
0644
apr_hash.h
10.08 KB
May 22 2025 09:10:35
root / root
0644
apr_hooks.h
12.363 KB
September 27 2023 15:55:48
root / root
0644
apr_inherit.h
2.089 KB
May 22 2025 09:10:35
root / root
0644
apr_ldap.h
5.57 KB
September 27 2023 15:55:48
root / root
0644
apr_ldap_init.h
5.645 KB
September 27 2023 15:55:48
root / root
0644
apr_ldap_option.h
8.402 KB
September 27 2023 15:55:48
root / root
0644
apr_ldap_rebind.h
3.094 KB
September 27 2023 15:55:48
root / root
0644
apr_ldap_url.h
3.71 KB
September 27 2023 15:55:48
root / root
0644
apr_lib.h
8.232 KB
May 22 2025 09:10:35
root / root
0644
apr_md4.h
4.419 KB
September 27 2023 15:55:48
root / root
0644
apr_md5.h
6.201 KB
September 27 2023 15:55:48
root / root
0644
apr_memcache.h
16.82 KB
September 27 2023 15:55:48
root / root
0644
apr_mmap.h
5.013 KB
May 22 2025 09:10:35
root / root
0644
apr_network_io.h
36.017 KB
May 22 2025 09:10:35
root / root
0644
apr_optional.h
2.715 KB
September 27 2023 15:55:48
root / root
0644
apr_optional_hooks.h
3.781 KB
September 27 2023 15:55:48
root / root
0644
apr_perms_set.h
1.864 KB
May 22 2025 09:10:35
root / root
0644
apr_poll.h
20.604 KB
May 22 2025 09:10:35
root / root
0644
apr_pools.h
30.938 KB
May 22 2025 09:10:35
root / root
0644
apr_portable.h
20.022 KB
May 22 2025 09:10:35
root / root
0644
apr_proc_mutex.h
6.848 KB
May 22 2025 09:10:35
root / root
0644
apr_queue.h
3.984 KB
September 27 2023 15:55:48
root / root
0644
apr_random.h
4.918 KB
May 22 2025 09:10:35
root / root
0644
apr_redis.h
15.62 KB
September 27 2023 15:55:48
root / root
0644
apr_reslist.h
7.008 KB
September 27 2023 15:55:48
root / root
0644
apr_ring.h
18.775 KB
May 22 2025 09:10:35
root / root
0644
apr_rmm.h
4.666 KB
September 27 2023 15:55:48
root / root
0644
apr_sdbm.h
5.97 KB
September 27 2023 15:55:48
root / root
0644
apr_sha1.h
3.793 KB
September 27 2023 15:55:48
root / root
0644
apr_shm.h
9.261 KB
May 22 2025 09:10:35
root / root
0644
apr_signal.h
2.696 KB
May 22 2025 09:10:35
root / root
0644
apr_siphash.h
6.014 KB
September 27 2023 15:55:48
root / root
0644
apr_skiplist.h
14.192 KB
May 22 2025 09:10:35
root / root
0644
apr_strings.h
14.548 KB
May 22 2025 09:10:35
root / root
0644
apr_strmatch.h
2.614 KB
September 27 2023 15:55:48
root / root
0644
apr_support.h
1.596 KB
May 22 2025 09:10:35
root / root
0644
apr_tables.h
18.9 KB
May 22 2025 09:10:35
root / root
0644
apr_thread_cond.h
5.396 KB
May 22 2025 09:10:35
root / root
0644
apr_thread_mutex.h
4.393 KB
May 22 2025 09:10:35
root / root
0644
apr_thread_pool.h
10.844 KB
September 27 2023 15:55:48
root / root
0644
apr_thread_proc.h
36.805 KB
May 22 2025 09:10:35
root / root
0644
apr_thread_rwlock.h
4.654 KB
May 22 2025 09:10:35
root / root
0644
apr_time.h
7.386 KB
May 22 2025 09:10:35
root / root
0644
apr_uri.h
6.435 KB
September 27 2023 15:55:48
root / root
0644
apr_user.h
5.186 KB
May 22 2025 09:10:35
root / root
0644
apr_uuid.h
2.053 KB
September 27 2023 15:55:48
root / root
0644
apr_version.h
5.218 KB
May 22 2025 09:10:35
root / root
0644
apr_want.h
2.889 KB
May 22 2025 09:10:35
root / root
0644
apr_xlate.h
6.258 KB
September 27 2023 15:55:48
root / root
0644
apr_xml.h
12.193 KB
September 27 2023 15:55:48
root / root
0644
apu.h
4.217 KB
September 27 2023 15:55:48
root / root
0644
apu_errno.h
5.316 KB
September 27 2023 15:55:48
root / root
0644
apu_version.h
4.199 KB
September 27 2023 15:55:48
root / root
0644
apu_want.h
1.448 KB
September 27 2023 15:55:48
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF