Fotolab.cz aneb jak si neuplatnit slevový kód

Brácha dostal za dobití telefonu slevový kód na fotolab.cz. Výborně, říkal jsem si. Rodiče scannovali staré diapozitivy, takže bychom si mohli udělat fotoalbum a ještě se slevou.

Web vypadal jednoduše do doby, než jsem se snažil zaregistrovat. Pak jsem s údivem zjistil, že můj kód není platný.

Pojďme se podívat, kde soudruzi z NDR udělali chybu. Takže trocha matematiky.

Slevový kód má 6 znaků. Velká písmena a číslice. Celkový počet kombinací je permutace, která ve finále dává 2 176 782 336 kombinací. Nejspíše asi jsou vypuštěny IOQS a Z, které se často pletou s  105, a 2. Jen toto by nám snížilo počet na možných 1 073 741 824 kombinací. Je to ale jen domněnka, proto dále pracuji s celou množinou.

Pokud počítáme, že kódu je vydaných 100 000, což je podle mě celkem možné číslo. Generovaní kódů je s normálním (pseudonormálním) rozložením. Asi nepředpokládám, že kódy jdou souvisle za sebou… 🙂 Takže mi vychází, že bych potřeboval průměrně 21 768 pokusů na uhádnutí jednoho kódu. Pokud bych měl štěstí možná i méně.

Pokud jsem schopen udělat 40 pokusů o ověření kódu za sekundu (odezva 25ms – asi nadhodnocený údaj), potřebuji v průměru 544s na jeden kód. To znamená 9 minut. Pokud bych uvažoval druhou redukovanou množinu znaků je to 268s, tedy 4.5 minuty.

Ajax volání pro ověření platnosti není nikterak chráněno. Ověření, počet pokusů… se neřeší.

Takže jsem došel na to, kde se asi můj kód poděl. 🙂

A závěr. Jen přidáním jednoho znaku navíc by počet kombinací a čas znásobil 36 násobně! Z 9 minut bychom měli 324 což je bezmála 5.5 hodiny. Pokud by to programátor na počátku promyslel, mohl bych mít doma vesele nové fotoalbum… 🙂

Leave a comment

Your comment