- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
function unique_id($extra = 'c')
{
static $dss_seeded = false;
global $config;
$val = $config['rand_seed'] . microtime();
$val = md5($val);
$config['rand_seed'] = md5($config['rand_seed'] . $val . $extra);
if ($dss_seeded !== true && ($config['rand_seed_last_update'] < time() - rand(1,10)))
{
set_config('rand_seed_last_update', time(), true);
set_config('rand_seed', $config['rand_seed'], true);
$dss_seeded = true;
}
return substr($val, 4, 16);
}
Казалось бы, что может быть интересного в генерации случайного числа для хеширования данных?!
Ан нет, хороший, творческий художник даже такую скучную вещь может превратить в произведение искусства.
Код взят из самого популярного движка для форумов- phpBB.
guest 28.03.2014 00:42 # +1
wvxvw 28.03.2014 02:45 # +1
gost 28.03.2014 13:13 # 0
Мееедлллееннноо
wvxvw 28.03.2014 16:59 # +1
bormand 28.03.2014 17:43 # +1
wvxvw 28.03.2014 17:49 # +1
О, кстати в АС3 есть :) ByteArray.writeFloat.
guest 29.03.2014 22:56 # +1
wvxvw 28.03.2014 18:05 # 0
> Мееедлллееннноо
fixed?
Sumanai 29.03.2014 20:27 # 0
bormand 29.03.2014 21:54 # 0
Все же этот код хоть и неэффективен, но получше типичного говна со srand/rand, инициализируемых от таймера.
guest 29.03.2014 22:00 # 0
bormand 29.03.2014 22:11 # +1
guest 29.03.2014 22:25 # 0
bormand 29.03.2014 22:14 # +4
Код, достойный отдельного треда:
Stertor 29.03.2014 22:18 # 0
Перепишу на делпхи.
Stertor 29.03.2014 22:27 # 0
guest 29.03.2014 22:28 # +1
Stertor 29.03.2014 22:30 # 0
Для обычных мыльных паролей ведь сойдет?
guest 29.03.2014 22:31 # +2
Sumanai 29.03.2014 22:37 # +2
Или
Совершенно криптостойкое имя файла, никто не угадает!
bormand 29.03.2014 22:46 # 0
> md5(unique_id())
А вот это прикольно. В return substr($val, 4, 16) он испортил значение, оставив только 16 цифр (8 байт). А теперь растягивает до полного md5. С точки зрения криптографии это лютый фейл...
Sumanai 29.03.2014 23:09 # 0
Конечно есть, о том и речь.
>А вот это прикольно.
Надо было всю цепочку выкладывать, оплошал))
guest 29.03.2014 22:51 # 0
bormand 29.03.2014 22:52 # 0
Sumanai 29.03.2014 23:12 # 0
guest 29.03.2014 22:23 # +2
Sumanai 29.03.2014 22:30 # 0