0byt3m1n1
Path:
/
home
/
mgatv524
/
public_html
/
mctv
/
lib
/
Helper
/
[
Home
]
File: Random.php
<?php /** * Copyright (C) 2020 Xibo Signage Ltd * * Xibo - Digital Signage - http://www.xibo.org.uk * * This file is part of Xibo. * * Xibo is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * Xibo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with Xibo. If not, see <http://www.gnu.org/licenses/>. */ namespace Xibo\Helper; /** * Class Random * @package Xibo\Helper */ class Random { /** * @param int $length * @param string $prefix * @return string * @throws \Exception */ public static function generateString($length = 10, $prefix = '') { if (function_exists('random_bytes')) { return substr($prefix . bin2hex(random_bytes($length)), 0, $length + strlen($prefix)); } else { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $charactersLength = strlen($characters); $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $characters[rand(0, $charactersLength - 1)]; } return $prefix . $randomString; } } }