Password Generator Professional 5.46 Lite |
Generator nasumičnih karaktera Da li ste znali da se iza jednostavnog zahteva računaru da nasumice ispiše neki broj krije čitava teorija? Ovu naredbu, koja je sastavni deo svakog programskog jezika, autor teksta prvi put je pokrenuo pre mnogo godina u bejziku, i na njegovo čuđenje stalno dobijao isti niz „nasumičnih” brojeva. Taj problem otklonio je onda kada je uneo naredbu randomize timer. I zaista, ako razmislite, kako bi mašina koja nema svest i mogućnost da sama odlučuje mogla da izabere slučajan broj?Računari uglavnom prave tzv. pseudoslučajne brojeve, u smislu da se mogu predvideti, jer se računaju na osnovu matematičke formule. To znači da se, uz poznavanje početnih uslova, mogu predvideti svi sledeći brojevi u nizu. Ti brojevi su takođe i periodični, što znači da se posle određenog broja cifara niz dobijenih brojeva ponavlja. Ranije je korišćenjem posebnih metoda, uz nesavršnost algoritma, bilo moguće „provaliti” ovaj niz. Danas su algoritmi savršeniji tako da se period ponavljanja brojeva javlja nakon toliko cifara da se slobodno može ignorisati, što uz karakteristiku njihovog brzog generisanja čini pseudoslučajne brojeve praktičnim za mnoge primene. Funkcija randomize s početka teksta uzima vrednosti promenljive timer koja meri vreme proteklo od ponoći u razmacima od stotih delova sekunde. Time smo obezbedili da u svakom tenutku (svake stotinke) imamo različite ulazne vrednosti (tzv. seed), ali jasno je to da ova metoda može da posluži, recimo, za slučajnu akciju nekog protivnika u igri, a nikako za generisanje slučajnih brojeva koje ćete koristiti za enkripciju važnih informacija.  | Za razliku od matematičkih, postoje generatori „pravih” slučajnih brojeva, koji slučajne brojeve kreiraju od nasumičnih vrednosti unetih fizičkim podražajem. Na primer, razmak između pritiskanja dva tastera na tastaturi ili sitne varijacije u koordinatama pomeranja miša neki su od jednostavnijih primera. Međutim, morate biti pažljivi prilikom biranja spoljnog uticaja. Mnogi programi baferuju unapred pritisnute tastere, pa se oni u sistemu javljaju kao jedan pritisak na tastaturu, čime se slučajnost gubi. Uzmimo zato kao primer rad sajta random.org. On pruža uslove generisanja slučajnih brojeva na osnovu atmosferskog šuma, odnosno prijema elektromagnetskih talasa iz okoline (to je ono šuštanje koje čujete između stanica na radio-aparatu). Drugi drastični primeri nasumičnih ulaznih podataka su detektovanje raspada radioaktivnih elemenata ili generisanje brojeva na osnovu fotografija mehurića u lava lampi! Ovi „pravi” slučajni brojevi ne mogu se reprodukovati, nemaju period ponavljanja, sporije se dobijaju od pseudoslučajnih brojeva i za njihovo kreiranje je potrebna posebna oprema. Naravno, ako idemo u krajnost, postoji teorija po kojoj bismo mogli, ako bi nam neko dao trenutno stanje svih čestica u Univerzumu, predvideti celokupan tok njegovog razvoja. Osim, za ove pojmove, nedovoljne brzine računanja današnjih superkompjutera, problem nastaje kod Hajzenbergovog principa neodređenosti, koji kaže da ne možemo istovremeno znati brzinu i položaj kvantnih čestica. Ali, mi ćemo se zaustaviti u ovoj tački u kojoj religija još može da parira nauci, i dok ne počnemo da se pitamo da li ste to zaista vi što čitate ovaj tekst, smatrati da se pravi slučajni brojevi ne mogu predvideti.Imajući sve ovo u vidu, izbor programa za generisanje slučajnog niza brojeva postaje vrlo bitan. Za razne simulacije pogodni su pseudoslučajni brojevi. Za generisanje lozinki, igara na sreću kao što je Loto i slično bezbedne rezultate daju samo pravi slučajni brojevi. Program koji predstavljamo je dobar pre svega zbog toga što omogućava kreiranje nasumičnih brojeva u formi koja vama odgovara. Princip je isti ako se u generisanje slučajnog niza brojeva ubace i slova, pa se nasumični brojevi mogu složiti u formu serijskog ili telefonskog broja, lozinke ili u obliku koji sami definišete. To znači da ovim programom možete ograničiti dužinu lozinke (na raspon od šest do osam karaktera, na primer), možete postaviti filter tako da se lozinka sastoji od kombinacije samo određenih karaktera, pa i uključiti takvu opciju da lozinke budu lake za pamćenje. Takve lozinke sastoje se od kombinacije samoglasnika i suglasnika kao što su nekad bile šifre koje su se dobijale prijavom na studentski dial-up. Uz lozinku istovremeno možete generisati korisničko ime, a možete ih učitavati, uz određene uslove, i iz tekstualnih fajlova. Generisanje lozinki možete parametrizovati kroz komandnu liniju i pokrenuti kroz batch fajl, a rezultate snimiti u fajl na više načina (na primer, nadovezati šifre na kraj postojećeg fajla i postarati se da se one ne ponavljaju ili zapisati u HTML, Excel format i slično). U svakom slučaju, ovo je jedan sveobuhvatan program koji će zadovoljiti većinu potreba i zahtevnijih korisnika (omogućava menjanje dobijenih rezultata putem Visual Basic skripti koje ste kreirali), ali i onih neiskusnijih, jer se cela procedura može svesti na nivo „čarobnjaka”. Sigurno ste primetili to da kupovinom nekih programa automatski dobijate serijski broj ili šifru kojom pristupate registraciji proizvoda. Ako se broj vaših kupaca meri u hiljadama, sigurno imate potrebe da taj posao automatizujete. Uz to, ne želite da imate algoritam koji je lako „provaliti” i na sebe navući gnev nezadovoljnih korisnika. Algoritam za koji autori programa tvrde da ga koriste je efikasni twisted GFSR (Generalized Feedback Shift Register) algoritam. Iako proizvode pseudoslučajne brojeve, ovi algoritmi danas su vrlo moćni, tako da je bolje obratiti pažnju na to kako ih možete organizovati i primeniti putem interfejsa programa, a ne na način na koji oni nastaju. U tom pogledu ovaj program ima svaku preporuku, a na vama je da izaberete jednu od njegovih verzija koje se razlikuju po nekim naprednim mogućnostima pomenutim u tekstu i, naravno, po ceni. Ognjen POPOVIĆ | | |