Page MenuHomeDevCentral

Use cryptographically secure pseudo-random integers
ClosedPublic

Authored by dereckson on Apr 9 2022, 12:04.
Tags
None
Referenced Files
F6993926: D2656.diff
Fri, Apr 18, 20:24
Unknown Object (File)
Thu, Apr 17, 08:26
Unknown Object (File)
Thu, Apr 17, 00:40
Unknown Object (File)
Thu, Apr 17, 00:07
Unknown Object (File)
Wed, Apr 16, 23:08
Unknown Object (File)
Wed, Apr 16, 05:32
Unknown Object (File)
Tue, Apr 15, 06:36
Unknown Object (File)
Mon, Apr 14, 06:12
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