Niedawno w ramach projektu dla firmy musiałem się zmierzyć z tematem nisko budżetowego Hotspota. Hotspot miał pozwalać na dostęp czasowy ( np 1 godzina) klientom firmy. Aby maksymalnie uprościć dostęp autoryzacja została ograniczona do pinu który jest ważny 1 godzinę od momentu jego pierwszego użycia. Mając wydrukowane kartoniki z takimi pinami wystarczy go wręczyć wybranym osobą. Prościej już chyba nie można. Był tylko jeden problem, którym było generowanie unikatowych pinów. Założyłem na początek, że pin będzie się składał z 6 znaków i powstał taki oto skrypcik:
#!/bin/sh SIZE=6 # hasło/kod bedzie się składał z $SIZE znaków ILOSC=50 # generujemy $ILOSC haseł < /dev/urandom tr -cd '[:alnum:]' | fold -w $SIZE | head -n $ILOSC
Zmienną SIZE regulujemy z ilu znaków ma się składać pojedynczy pin/kod a zmienna ILOSC odpowiada na to ile haseł w jednym uruchomieniu skryptu zostanie wygenerowane.