Hi, Thanks for the response.

The RFC has been revised based on the points you pointed out.

https://wiki.php.net/rfc/rng_extension

The main changes are as follows:

- Class name has been changed from `Randomizer` to `Random` .
- Added a static method `getNonBiasedMax()` to get the safe range.
- `int()` and `bytes()` have been renamed to `getInt()` and `getBytes()`
for avoid future reserved words.
- `getInt()` arguments no longer accept null.
- `shuffle(array|string $target): array|string` has been separated into
`arrayShuffle(array $array)` and `stringShuffle(string $string): string`
for more comfortable static-analysis.
- fix: php_random_algo struct (included uint64_t -> int64_t)

Answer a few questions:

> When $seed is null, what is used for the seed value?

Depends on the algo's implementation, but basically it is using internal
`php_random_int()`.
It is similar to `mt_srand()` on PHP 8.1.

https://github.com/php/php-src/commit/53ee3f7f897f7ee33a4c45210014648043386e13

> Why cancelled RNG Extension?

As a result of discussions during the draft, the functions became a single
class and no longer need to be separated. The functionality for random
numbers is now included in ext/standard and will conform to this. (e.g.
rand.c random.c)

> Deprecation

Dropped in the last RFC update.
These were premature and should not have been included with the RFCs that
add new features.

If the direction seems generally okay, I'd like to start implementing it to
show more details.

Regards,
Go Kudo

2021年5月23日(日) 5:56 Go Kudo <zeriyo...@gmail.com>:

> Hi, Internals and all participated in the previous discussion.
>
> RFCs have been cleaned up and the proposal has been substantially changed.
>
> https://wiki.php.net/rfc/rng_extension
>
> First of all, I apologize for not checking out the implementation of
> password_hash(), which is a precedent to learn from.
>
> I think I've answered all the questions I've been getting on Open Issues.
> If I have left anything out, please let me know.
>
> Regards,
> Go Kudo
>

Reply via email to