checksum.me – projekt jednego dnia
Wymyśliłem/przyjąłem sobie jakiś czas temu termin taki jak „projekt jednego dnia”. Określam nim programy których działający prototyp da się wykonać w jeden dzień. Oczywiście musi to być coś bardziej ambitnego niż „Hello World” – innymi słowy, użytecznego.
Całkiem niedawno postanowiłem zrobić malutkie narzędzie on-line do liczenia sum kontrolnych. Ktoś powie że pełno już takich narzędzi zrobiono. I faktycznie, ale jeśli bliżej się przyjrzeć, to te działające on-line z reguł ograniczają się tylko do md5 lub bardziej popularnych. Ja poszedłem o krok dalej – poznajcie checksum.me!
Czym jest checksum.me? Prostym serwisem obliczającym w locie sumy kontrolne wybranego ciągu znaków. Wszystko dzieje się bez przeładowania strony za pomocą techniki AJAX. Głównym wykonawcą jest funkcją hash języka PHP. I to w zasadzie już wszystko. Prototyp działał już po kilku godzinach a całość, wraz z rejestracją domeny i końcowymi poprawkami zawarłem w jednym dniu z hakiem.

Dzień pierwszy – etapy rozwoju
Drugiego dnia dodałem jedynie kilka drobnostek i wprowadziłem drobne poprawki do całości. To co można by dodać w przyszłości to ew. sprawdzanie sum kontrolnych plików.
Oczywiście zdaje sobie sprawę z tego, iż grupa docelowa odbiorców tej mini strony jest dość wąska. Nie mniej, liczę że znajdą się osoby którym się przyda
.

A mi tu czegoś brakuje w „dokumentacji” pojektu. Dane do „przemielenia” traktowane są jako tekst czy binarka? Jakie kodowanie jest użyte przy obliczaniu sum? utf8_pl_casesensitive? Pragnę zauważyć, że jeżeli wiadomość zawiera znaki które nie są podstawowe, np. śźżćół to inaczej będą się prezentować jej sumy kontrolne przy różnym potraktowaniu jej tekstu.
Na którymś etapie liczenia sum kontrolonych musi nastąpić konwersja liter w binarkę. I warto to uspecyfikować według jakiej dzieje się to metody – UTF-8, UTF-32, ISO-8859-2? Dla przykładu proponuję zapisać „aąbcćdeęfghijklłmnńoópqrsśtuvwxyzżź” do plików z różnymi metodami kodowania i otworzyć to dowolnym hex edytorem.
Faktycznie, małe niedomówienie. Jest to UTF-8, zgodnie z kodowaniem strony. Do skryptu php dane docierają jako UTF-8 i z tego jest liczona dalej suma kontrolna.