Page MenuHomeDevCentral

Use cryptographically secure pseudo-random integers
ClosedPublic

Authored by dereckson on Apr 9 2022, 12:04.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Nov 21, 09:37
Unknown Object (File)
Tue, Nov 19, 02:10
Unknown Object (File)
Tue, Nov 19, 01:15
Unknown Object (File)
Mon, Nov 18, 08:51
Unknown Object (File)
Mon, Nov 18, 08:35
Unknown Object (File)
Sat, Nov 16, 18:49
Unknown Object (File)
Sat, Nov 16, 17:40
Unknown Object (File)
Sat, Nov 16, 17:04
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