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.