mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Add zend_random_bytes(), zend_random_bytes_insecure() functions (#14054)
Co-authored-by: Tim Düsterhus <tim@bastelstu.be>
This commit is contained in:
parent
d545b1d643
commit
d1048a0869
10 changed files with 169 additions and 12 deletions
35
ext/random/php_random_zend_utils.h
Normal file
35
ext/random/php_random_zend_utils.h
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
| 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. |
|
||||
+----------------------------------------------------------------------+
|
||||
| Authors: Arnaud Le Blanc <arnaud.lb@gmail.com> |
|
||||
| Tim Düsterhus <timwolla@php.net> |
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
#ifndef PHP_RANDOM_ZEND_UTILS_H
|
||||
# define PHP_RANDOM_ZEND_UTILS_H
|
||||
|
||||
# include "php.h"
|
||||
# include "php_random.h"
|
||||
# include "zend.h"
|
||||
|
||||
typedef struct _php_random_bytes_insecure_state_for_zend {
|
||||
bool initialized;
|
||||
php_random_status_state_xoshiro256starstar xoshiro256starstar_state;
|
||||
} php_random_bytes_insecure_state_for_zend;
|
||||
|
||||
ZEND_STATIC_ASSERT(sizeof(zend_random_bytes_insecure_state) >= sizeof(php_random_bytes_insecure_state_for_zend), "");
|
||||
|
||||
ZEND_ATTRIBUTE_NONNULL PHPAPI void php_random_bytes_insecure_for_zend(
|
||||
zend_random_bytes_insecure_state *state, void *bytes, size_t size);
|
||||
|
||||
#endif /* PHP_RANDOM_ZEND_UTILS_H */
|
Loading…
Add table
Add a link
Reference in a new issue