Uwaga : to wyzwanie jest teraz zamknięte. Wszelkie przyszłe zgłoszenia gliniarzy nie będą brane pod uwagę dla zaakceptowanej odpowiedzi. Ma to na celu zagwarantowanie, że nikt nie będzie w stanie opublikować bardzo prostego wyrażenia regularnego w przyszłości, który pozostaje tylko bez crackowania, ponieważ nikt nie jest już zainteresowany wyzwaniem.
Wyzwanie gliniarzy
Masz napisać krótki, zaciemniony regex spełniający następującą specyfikację:
Możesz wybrać dowolny smak, który można swobodnie testować online. Na StackOverflow znajduje się dobra lista testerów online . W szczególności Regex101 powinien być dobry na początek, ponieważ obsługuje smaki PCRE, ECMAScript i Python. W razie potrzeby możesz zwiększyć limit czasu, klikając klucz w prawym górnym rogu. W odpowiedzi podaj testera, który wybierzesz.
Jeśli nie jest dostępny odpowiedni tester dla twojego gustu , możesz również skorzystać z tłumacza internetowego, takiego jak ideone, i napisać mały skrypt w języku hosta, którego ludzie mogą użyć do przetestowania twojego zgłoszenia.
- Możesz użyć dowolnej funkcji tego smaku, która nie wywołuje bezpośrednio języka hosta (jak funkcje oceny kodu Perla).
- Podobnie, możesz użyć dowolnych modyfikatorów (jeśli twój smak je ma), chyba że powodują one ocenę kodu.
- Wyrażenie regularne musi zaakceptować co najmniej jeden ciąg S i odrzucić co najmniej jeden ciąg T , z których każdy ma co najmniej 16 i nie więcej niż 256 znaków, w rozsądnym czasie (nie znacznie dłuższym niż minuta). S i T mogą zawierać znaki Unicode, które nie są ASCII, o ile istnieje sposób, aby wprowadzić je do testera online. Każda taka para ciągów będzie kluczem do przesłania.
- Wyrażenie regularne może zająć dowolnie długo dowolne inne dane wejściowe.
Podstawą wyzwania jest stworzenie wyrażenia regularnego, którego klucz jest trudny do znalezienia. Oznacza to, że albo trudno będzie stwierdzić, który ciąg nie pasuje, albo który pasuje do niego (lub potencjalnie nawet oba, jeśli wyrażenie regularne zajmuje dni na wszystkich oprócz ciągów klucza).
Wyzwanie rabusiów
Wszystkich użytkowników, w tym tych, którzy przesłali własne wyrażenia regularne, zachęca się do „łamania” innych zgłoszeń. Zgłoszenie jest łamane, gdy jeden z jego kluczy jest publikowany w powiązanej sekcji komentarzy.
Ważne: Upewnij się, że oba napisane ciągi zawierają od 16 do 256 znaków włącznie, nawet jeśli dla jednej części klucza można użyć prawie dowolnego łańcucha.
Jeśli przesłanie trwa 72 godziny bez modyfikacji lub złamania, autor może ujawnić prawidłowy klucz, edytując go w spoiler-tag w swojej odpowiedzi. To sprawi, że jego odpowiedź będzie „bezpieczna”, tj. Nie da się jej już złamać.
Dozwolona jest tylko jedna próba krakowania na zgłoszenie na użytkownika Na przykład, jeśli prześlę do użytkownika X: „Twój klucz to 0123456789abcdef
/ fedcba9876543210
”. i mylę się, użytkownik X zignoruje moje przypuszczenie, że jest niepoprawne i nie będę już mógł przesyłać dodatkowych zgadnięć dla tego przesłania, ale nadal mogę złamać inne zgłoszenia (a inni nadal mogą złamać to zgłoszenie).
Zgłoszone zgłoszenia są eliminowane ze sporów (pod warunkiem, że nie są „bezpieczne”). Nie należy ich edytować ani usuwać. Jeśli autor chce przesłać nowe wyrażenie regularne, powinien to zrobić w osobnej odpowiedzi.
Nie łam się własnemu zgłoszeniu!
Uwaga: W przypadku długich ciągów w komentarzach bez spacji SE wstawia ręczne łamanie wiersza w postaci dwóch znaków Unicode. Jeśli więc umieścisz klucz w backtiksie, który jest tak długi, że zawija się między znakami spacji, nie będzie możliwe skopiowanie klucza z powrotem do testera wyrażenia regularnego. W takim przypadku prosimy o podanie bezpośredniego odnośnika do testera wyrażenia regularnego z wyrażeniem regularnym policjanta i kluczem - większość testerów ma tę funkcję.
Punktacja
Wynik gliniarza będzie miał wielkość wyrażenia regularnego w bajtach (wzorzec plus modyfikatory, potencjalne ograniczniki nie są liczone), pod warunkiem, że nie został złamany. Zwycięży najniższy wynik „bezpiecznego” zgłoszenia.
Wynik rabusia to liczba zgłoszeń, które złamali. W przypadku remisu całkowity rozmiar bajtów przesłanych przez nich zgłoszeń zostanie wykorzystany jako remis. Tutaj wygrywa najwyższa liczba bajtów.
Jak wspomniano powyżej, każdy policjant może uczestniczyć jako złodziej i na odwrót.
Będę utrzymywać osobne tabele wyników dla dwóch części wyzwania.
Liderów
Ostatnia aktualizacja: 19/10/2014, 20:33 UTC
Gliny
Przesyłanie kursywą nie jest jeszcze bezpieczne.
- nneonneo , 841 bajtów
- Wumpus Q. Wumbley , 10602 bajtów
- Sp3000 , 52 506 bajtów
- user23013 , 53,884 bajtów
- nneonneo , 656,813 bajtów
Rabusie:
- user23013 krakingowych 11, powierzchnia: 733 + 30 + 2.447 + 71 + 109 + 121 + 97 + 60 + 141 + 200,127 + 7,563 = 211,499 bajtów
- nneonneo , Pęknięty: 10, Całkowity rozmiar: 4842 + 12371 + 150 + 3571 + 96 + 168 + 395 + 1043 + 458 + 1782 = 40 466 bajtów
- Wumpus Q. Wumbley , Cracked: 6, Total Size: 22 + 24 + 158 + 32 + 145 245 + 145 475 = 290 956 bajtów
- Dennis , Cracked: 2, Total Size: 70 + 73 = 143 bajtów
- harius , Cracked: 1, Total Size: 9998 bytes
- g. gniazdo , pęknięty: 1, całkowity rozmiar: 721 bajtów
- stokastic , Cracked: 1, Total Size: 211 bytes
- Sp3000 , pęknięty: 1, całkowity rozmiar: 133 bajty
- TwiNight , Pęknięty: 1, Całkowity rozmiar: 39 bajtów