Feature: #73050 - Add a CSPRNG API
See forge#73050
Description
A new cryptographically secure pseudo-random number generator (CSPRNG) has been introduced in TYPO3 core. It takes advantage of the new CSPRNG functions in PHP 7.
API overview
The API resides in the class \TYPO3\
. It provides several
methods. Here is a brief overview of the interface:
class Random {
/**
* Generates cryptographic secure pseudo-random bytes
*/
public function generateRandomBytes($length);
/**
* Generates cryptographic secure pseudo-random integers
*/
public function generateRandomInteger($min, $max);
/**
* Generates cryptographic secure pseudo-random hex string
*/
public function generateRandomHexString($length);
}
Copied!
Example
use \TYPO3\CMS\Core\Crypto\Random;
use \TYPO3\CMS\Core\Utility\GeneralUtility;
// Retrieving random bytes
$someRandomString = GeneralUtility::makeInstance(Random::class)->generateRandomBytes(64);
// Rolling the dice..
$tossedValue = GeneralUtility::makeInstance(Random::class)->generateRandomInteger(1, 6);
Copied!
Impact
None, you can start to use the CSPRNG in your code by now.