Page MenuHomeWMGMC Issues

HashRNGProvider.php
No OneTemporary

HashRNGProvider.php

<?php
namespace RobThree\Auth\Providers\Rng;
class HashRNGProvider implements IRNGProvider
{
/** @var string */
private $algorithm;
/**
* @param string $algorithm
*/
public function __construct($algorithm = 'sha256')
{
$algos = array_values(hash_algos());
if (!in_array($algorithm, $algos, true)) {
throw new RNGException('Unsupported algorithm specified');
}
$this->algorithm = $algorithm;
}
/**
* {@inheritdoc}
*/
public function getRandomBytes($bytecount)
{
$result = '';
$hash = mt_rand();
for ($i = 0; $i < $bytecount; $i++) {
$hash = hash($this->algorithm, $hash . mt_rand(), true);
$result .= $hash[mt_rand(0, strlen($hash) - 1)];
}
return $result;
}
/**
* {@inheritdoc}
*/
public function isCryptographicallySecure()
{
return false;
}
}

File Metadata

Mime Type
text/x-php
Expires
9月 9 Tue, 5:47 AM (10 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5384
默认替代文本
HashRNGProvider.php (952 B)

Event Timeline