Skocz do zawartości
BlueMan

Baza hashów md5, sha1, itp

Polecane posty

md5 już powoli jest odradzanym algorytmem do kodowania haseł. Coraz częsciej używa się sha1, a większe instytucja sha512.

 

Chcę zrobić największą bazę hashów md5 i sha1, a później i innych w internecie :]

A jednocześnie stworzyć inicjatywę i rywalizację między użytkownikami o to "kto najwięcej doda hashów".

 

http://www.hashcode.eu/ - zapraszam więc na stronę. Przetestujcie, wypowiedzcie się, itp :]

Czekam na jakieś uwagi od Was!

 

 

PS.

Pozwoli mi to także powalczyć z uzyskiwaniem wydajnych aplikacji internetowych, ponieważ przetwarzanie tak dużej ilości danych to nie lada wyzwanie.

Chciałbym także wykryć dla jakich wyrazów wygenerowany kod md5 będzie taki sam :) bo na pewno to wystąpi.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

niby recznie mamy dodawac ? wyeksportuj jeden wpis z bazy byśmy mogli szybko Ci podrzucić ileś tam wyrazów;-)

 

na stronie masz problemy z kodowaniem polskich znaków

 

http://www.hashcode.eu/us/code/type-sha1/c...e690290c5935809

 

edit:

weźmiesz słowniki paru języków + dobry skrypcik który do każdego wyrazu dodaje kolejne cyfry od 1 do 999 i generuje z tego hash md5, sha1, odejmnuje cyferki po kolei ( co juz robisz i dobrze Ci idzie) i masz z miliard wpisów : D ta liczba jest nawet sensowna pod warunkiem wziecia kolo miliona wyrazów i zrobienia z nim roznych kombinacji :-)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Polski język puki co jest wrzucony, szukam angielskiego słownika teraz.

 

Te krzaki to nie problem z kodowaniem. Dla PHP wszystkie PL znaki to takie jakby podwójne znaki - ten krzak i jeszcze coś dodatkowego, co łącznie tworzy dobrą literkę.

Dlatego też strlen() nie zwraca poprawnej długości wyrazu z PL znakami :)

Dlatego jak po kolei dodaję znaki, to przy PL znaku najpierw doda się krzak, dopiero potem dopełnienie i powstanie normalna literka :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A ja jak zwykle sobie pokrytykuję :)

 

md5 już powoli jest odradzanym algorytmem do kodowania haseł. Coraz częsciej używa się sha1, a większe instytucja sha512.
Nie powoli, tylko od dawna. Poza tym sama zmiana algorytmu jest nic nie warta.

 

Natomiast aby zapewnić sobie względne bezpieczeństwo wystarczy zapisywać hash(username/id/e-mail/cokolwiek + pass), a nie hash(pass). W ten sposób uodparniamy się na ataki z wykorzystaniem ogólno dostępnych tablic. Dodatkowo hasło każdego z użytkowników trzeba atakować oddzielnie :)

 

Chcę zrobić największą bazę hashów md5 i sha1, a później i innych w internecie :]
Chyba sam nie masz pojęcia na co się porywasz :)

 

Sama baza hashy MD5 dla ciągów 7-znakowych (base64, czyli znaki alfanumeryczne i znaki specjalne) to 4398046511104 hashy, które w specjalnym binarnym formacie zajmują ponad 100GB (a gdybyś chciał je przetrzymywać jako czysty tekst, to patrzysz na bazę o rozmiarze 100TB(!)). Dla SHA1 będzie to oczywiście o 25% więcej :)

 

Chciałbym także wykryć dla jakich wyrazów wygenerowany kod md5 będzie taki sam :) bo na pewno to wystąpi.
Dla wyrazów? Wątpie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A jednak gdzieś czytałem o błędzie w MD5, w którym chinole wykorzystują otrzymywanie takiego samego hasha dla dwóch różnych ciągów znaków.

 

Ale z te Chiny nie mogę teraz tego znaleźć :).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
to 4398046511104 hashy
czyli jednak ograniczona ilość. A słów na świecie jest na pewno więcej, a więc wystąpią pewne słowa dla których hash będzie taki sam :]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
czyli jednak ograniczona ilość. A słów na świecie jest na pewno więcej, a więc wystąpią pewne słowa dla których hash będzie taki sam :]
Oj, oj... Przeczytaj jeszcze raz to co napisałem. Istnieje 4398046511104 7-znakowych ciągów (w ramach znaków z base64), a przy założeniu, że każdy z nich ma unikalny hash, hashy jest także 4398046511104.

 

Wszystkich możliwych do wygenerowania hashy MD5 jest 340282366920938463463374607431768211456.

Wszystkich możliwych do wygenerowania hashy SHA1 jest 1461501637330902918203684832716283019655932542976.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Sama baza hashy MD5 dla ciągów 7-znakowych (base64, czyli znaki alfanumeryczne i znaki specjalne) to 4398046511104 hashy [...]

 

czyli jednak ograniczona ilość.

 

trudno, aby dla ciągów 7-znakowych było nieskończenie wiele hashy :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

340'282'366'920'938'000'000'000'000'000'000'000'000

Tyle jest wszystkich możliwych kombinacji dla algorytmu md5. I choćby się skichać to wyrazów, zdań, itp można "teoretycznie" więcej wygenerować... a więc wystąpią powtórzenia :)

 

Wiem, że to marzenia ściętej głowy i tak :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
A słów na świecie jest na pewno więcej, a więc wystąpią pewne słowa dla których hash będzie taki sam :]
Jeszcze w ramach czepiania się, Oxford English Dictionary zawiera 600000 wyrazów (czyli 0.00001% wymienionej przeze mnie wcześniej liczby), tak więc zapewniam Cię, że wyrazów na świecie więcej nie ma :)

 

340'282'366'920'938'000'000'000'000'000'000'000'000

Tyle jest wszystkich możliwych kombinacji dla algorytmu md5. I choćby się skichać to wyrazów, zdań, itp można "teoretycznie" więcej wygenerować... a więc wystąpią powtórzenia :)

Jasne, że wystąpią powtórzenia. Ale wcześniej pisałes o wyrazach, dla których te powtórzenia wystąpić nie powinny.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bo nie ma takiej strony w necie? Bo chcę się czegoś nowego nauczyć? :) Bo może się przyda?

 

GA tez na stronie siedzi.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Bo nie ma takiej strony w necie?
Jest :)

 

Bo może się przyda?
Nie z taką bazą.

 

btw: s/same/some :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Te krzaki to nie problem z kodowaniem. Dla PHP wszystkie PL znaki to takie jakby podwójne znaki - ten krzak i jeszcze coś dodatkowego, co łącznie tworzy dobrą literkę.

Dlatego też strlen() nie zwraca poprawnej długości wyrazu z PL znakami ;)

Dlatego jak po kolei dodaję znaki, to przy PL znaku najpierw doda się krzak, dopiero potem dopełnienie i powstanie normalna literka :)

To nie jakieś magiczne podwójne znaczki tylko w kodowaniu UTF8 znaki normalne są zapisywane jednobajtowo, natomiast narodowe (polskie, niemiecki, czeski, itp.) są zapisywane dwubajtowo, a strlen zwraca po prostu długość ciągu traktując znak jako jeden bajt dlatego wychodzi mu więcej niż powinno być.

Proponuje poczytać o funkcjach zaczynających się na "mb_" czyli Multibyte String http://pl.php.net/manual/pl/book.mbstring.php

Bo nie ma takiej strony w necie? Bo chcę się czegoś nowego nauczyć? :P Bo może się przyda?

Jak nie ma jak są.

Ja od jakiegoś czasu korzystam z np. http://www.generuj.pl/ a kiedyś korzystałem też z takiej co zawierała np. sha1, md5(md5) i aprę innych tylko adresu nie pomnę.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dla mnie to są zwykle generatory hashów... . Brak w nich rejestracji, statystyk, rankingów, itp.

Dlatego napisałem, że "nie ma takiej strony w necie".

 

Najgłupsze pomysly raz na jakis czas sa trafione :]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dla mnie to są zwykle generatory hashów... . Brak w nich rejestracji, statystyk, rankingów, itp.

Dlatego napisałem, że "nie ma takiej strony w necie".

 

Tylko po co to komuś ?

 

A tak BTW to wejście na stronę 11111 trwa 15 sekund, im dalsza strona tym dłużej się ładuje.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

bład przy dodawaniu

Fatal error: Uncaught exception 'Exception' with message 'hash_type_none' in /home/blueman/public_html/hashcode.eu/site/makeIt.php:6 Stack trace: #0 {main} thrown in /home/blueman/public_html/hashcode.eu/site/makeIt.php on line 6

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@regdos - wiem... Dzisiaj wprowadzą optymalizację tego. Będzie działać w tysięczną sekundy :]

 

@crazyluki - na której podstonie, w jakich okolicznościach? Ten błąd powinien wystepować, jak nie wybrało się typu hasha. A przecież domyślnie md5 jest wybrany... .

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

BlueMan: to wystąpiło gdy wpisalem w polu z treścią któryś z tych znaków - nie pamiętam który - !@#$%&*(@#+_)

czy dałoby się zrobić dodawanie nowych słów za pomocą entera ? wiesz, wpisuję nowe słowo i enter;-) a tak trzeba klikać tyle...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@crazyluki - przypatrzę się temu, bo właściwie dla znaków specjalnych nie testowałem :| Wiem gdzie jest problem - dla znaku "#" występuje tylko.

Co do ENTERA - próbowałem to wprowadzić, bo jest to wręcz "niezbędne", ale narazie moje próby spełzły na niczym :/

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×