1: <?php defined('_JOOS_CORE') or exit();
2:
3: /**
4: * Библиотека генерации случайных данных
5: *
6: * @version 1.0
7: * @package Core\Libraries
8: * @subpackage Randomizer
9: * @category Libraries
10: * @author Joostina Team <info@joostina.ru>
11: * @copyright (C) 2007-2012 Joostina Team
12: * @license MIT License http://www.opensource.org/licenses/mit-license.php
13: * Информация об авторах и лицензиях стороннего кода в составе Joostina CMS: docs/copyrights
14: *
15: * */
16: class joosRandomizer
17: {
18: /**
19: * Генерация уникального хеша определённой длины
20: *
21: * @param int $length длина символов хеша
22: * @param string $symbols список символов, разрешённых в хеше
23: *
24: * @return string
25: */
26: public static function hash($length = 6, $symbols = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
27: {
28: mt_srand(10000000 * (double) microtime());
29:
30: $symbols_length = strlen($symbols) - 1;
31:
32: $hash = array();
33:
34: for ($i = 0; $i < $length; $i++) {
35: $hash[] = $symbols{mt_rand(0, $symbols_length)};
36: }
37:
38: return implode('', $hash);
39: }
40:
41: }
42: