Jak ziskat jedinecne cislo a realny cas ?

Matus Uhlar uhlar na ccnews.ke.sanet.sk
Pátek Duben 25 08:59:18 CEST 1997


In cz.comp.linux was written by Petr Snajdr <snajdr na pvt.net>:
-> > ->   jak ziskat jedinecne cislo ? Myslel jsem si, ze k tomu vede cesta pres
-> > -> time(), ale evidentne ne tak uplne :-(
-> > 
-> > samozrejme ze ked sa budete hrat s datumom, jedinecne cislo neziskate.
-> > dokonca aj keby ste sa s nim nehrali, staci aby vas program ste spustili
-> > 4294967296 krat a na dalsie pokuse sa uz bude opakovat

-> Rek bych, ze ta pravdepodobnost neni az tak mala. Kazdopadne
-> neni problem ziskat 2  volanimi time() 2 cislo s tim, ze to druhe bude
-> mensi
-> nez to prvni ( neli stejne).

Ak narazate na zmeny casu, na solarise (neviem ako inde) existuje funkcia
adjtime() ktora spomali/zrychli hodinky tak aby sa posunuli o dany cas, bez
toho aby sa cas priamo zmenil a doslo k tomuto.

Nuz a ak chcete zmenit pravdepodobnost toho ze cislo bude take, existuje
funkcia neviem presne jej meno, ktora vrati cas v mili ci mikro ci
nanosekundach (a veru aj na linuxe). bohuzial neviem jej meno :(

skuste apropos time. Akurat tam dostanete 2 cisla, dokopy viac ako 64 bitov.
ale urcite nebude problem sa s tym pohrat a dostat nieco jedinecne.

-> No dobre,ale na posunech letni<->zimni cas nic nelegalniho, spatneho ap.
-> neni s vyjmkou toho, ze time nevraci pocet sec. od 1.ledna 1970,ale
-> pocet sec. od 1.ledna +/- letni nebo zimni cas tj. k relnamu casu to ma
-> dost daleko.

nuz ako napiral P. Kundrat, time() vracia cas v GMT a ten sa neposuva.
-- 
 E-mail: Matus.Uhlar na tuke.sk WWW: http://ccsun.tuke.sk/users/uhlar
 IRC: fantomas, TALK: uhlar na ccnews.ke.sanet.sk
 ...and if you think I'm talking for my employer, you're wrong...


Další informace o konferenci Linux