Page MenuHomeDevCentral

Use cryptographically secure pseudo-random integers
ClosedPublic

Authored by dereckson on Apr 9 2022, 12:04.
Tags
None
Referenced Files
F25041047: D2656.diff
Thu, Mar 26, 21:37
F25038827: D2656.id6715.diff
Thu, Mar 26, 18:18
F25027457: D2656.diff
Thu, Mar 26, 02:41
Unknown Object (File)
Tue, Mar 24, 08:41
Unknown Object (File)
Tue, Mar 24, 04:54
Unknown Object (File)
Tue, Mar 24, 04:13
Unknown Object (File)
Mon, Mar 23, 04:54
Unknown Object (File)
Sun, Mar 22, 04:58
Subscribers
None

Details

Summary

Methods from Identifiers\Random were currently implemented using
the Mersenne Twister general-purpose pseudorandom number generator.

As randomness is often used as a source to generate credentials,
and to also offer unbiaised results for games, this changes switch
to the CSPRNG method random_int. The random_bytes method was already used.

According PHP manual, the "cryptographically secure pseudo-random number
generator (CSPRNG) API provides an easy and reliable way to generate
crypto-strong random integers and bytes for use within cryptographic contexts."

As our library is PHP 7+ (actually PHP 8.1+), the CSPRNG methods are always
available.

Test Plan

Run unit tests, no regression detected.

Diff Detail

Repository
rKERUALD Keruald libraries development repository
Lint
Lint Passed
Unit
Test Failures
Branch
random
Build Status
Buildable 4167
Build 4419: arc lint + arc unit