|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Andrew A. Sabitov 2:5020/400 27 Jul 2001 06:35:22 To : All Subject : Re: Как HЕ нужно генер ировать unique id (was: Re: uniq ue visitors) --------------------------------------------------------------------------------
ировать unique id (was: Re: uniq
ue visitors)
> s> И вообще, идея использовать для уникального идентификатора что-то
> s> детерминированное (time, {}, $$, ip address, что угодно; любая комбинация
> s> из всего этого...) -- очень наивная и плохая идея. Это сродни написанию
> s> своего генератора случайных чисел, примитивного и с кучей багов и
> s> подводных камней.
> Hет в этой жизни совеpшенства! А что же тогда использовать? Ведь, скоpее
> всего, и mod_unique тоже подобным обpазом pаботает.
> Ведь нет ничего недетеpминиpованного в компе.
> Остаются только автоинкpементы в БД. Hо если надо сгенеpить случайный паpоль,
> то это тоже не подойдёт.
Если есть необходимость генерить случайные значения, то берется Кнут,
внимательно изучается, и пишется генератор. Главное, как в том анекдоте "И
ничего не меняй, сынок!!!" Собственно, почему это так, Кнут тоже пишет.
Если лом писать самому, то можно поискать в Сети. Я лично находил где-то
генератор с периодом ~10**120. Правда на С, но ИМХО, это уже не важно.
При этом, перед тем как растапыривать пальцы, надо понять разницу между
задачей "сгенерить ключ для шифрования" и "создать маркер пользователя"
Если в первом случае надо делать все "по-настоящему", то во втором
достаточно _даже_ автоинкримента. До тех пор, разумеется, пока мы не
думаем писать что-то относящееся к деньгам и т.п.
Кстати, с /dev/random тоже надо быть аккуратным, -- я натыкался пару раз
на ситуацию, когда его не инициализировали, и из него можно было получить
только заранее определенную последовательность. Поскольку у девелопера
далеко не всегда есть рутовые права, это становится критичным.
--
,,,,
/'^'\
( o o )
--oOOO--(_)--OOOo------------------------------------------------
| Andrew A. Sabitov
| Email: sabitov@catalysis.nsk.su
| WWW: fir.catalysis.nsk.su/~sabitov
| .oooO Еж птица гордая - пока не пнешь, не полетит!
| ( ) Oooo.
- ---\ (----( )-------------------------------------------------
\_) ) /
(_/
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/1712277c4e008.html, оценка из 5, голосов 10
|