Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Krotki hash
propage
post
Post #1





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

Ostrzeżenie: (0%)
-----


Jest funkcja, która tworzy hasuje, jednak has jest duzo krotszy niz z funkcji md5 czy sh1 ?
Potrzebuje funkcji, ktora bedzie tworzyc id na podstawie unikalnej nazwy, mysle, iż 5 literowe id w calkowicie wystarczy przy bardzo malej bazie danych
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Przecież możesz sobie obciąć do 5 znaków
  1. substr(0, 5, md5('skowron-line'));


A druga sprawa jest taka że jak będziesz miał w bazie klucz główny i auto_increment na polu id to wystarczy żeby były unikalne wartości.

Ten post edytował skowron-line 3.03.2010, 09:07:32
Go to the top of the page
+Quote Post
PiotrekM
post
Post #3





Grupa: Zarejestrowani
Postów: 130
Pomógł: 6
Dołączył: 20.12.2009

Ostrzeżenie: (0%)
-----


Cytat(skowron-line @ 3.03.2010, 09:06:30 ) *
Przecież możesz sobie obciąć do 5 znaków
  1. substr(0, 5, md5('skowron-line'));

pierwszy argument to string, czyli:
  1. substr(md5('skowron-line'), 0, 5);


edit:
dziwne, ale z microtime te pierwsze 8 cyfr powtórzyło mi się 85 razy w pętli do 1000, ba... tylko jedna wartość mi się powtórzyła. dziwne.
w kolejnej pętli zero powtórzeń (IMG:style_emoticons/default/smile.gif)
teoretycznie czasami może się zdarzyć powtórzenie (IMG:style_emoticons/default/smile.gif)

Ten post edytował PiotrekM 3.03.2010, 14:27:19
Go to the top of the page
+Quote Post
mls
post
Post #4





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(PiotrekM @ 3.03.2010, 14:10:12 ) *
dziwne, ale z microtime te pierwsze 8 cyfr powtórzyło mi się 85 razy w pętli do 1000, ba... tylko jedna wartość mi się powtórzyła. dziwne.
w kolejnej pętli zero powtórzeń (IMG:style_emoticons/default/smile.gif)
teoretycznie czasami może się zdarzyć powtórzenie (IMG:style_emoticons/default/smile.gif)


Dziwne, że nie spojrzałeś co konkretnie robi funkcja microtime. Może wtedy nie dziwiłbyś się dlaczego zwracała przez jakiś czas takie same dane...
Do losowych liczb wymyślono chociażby uniqid, którego to możesz podstawić zamiast microtime...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 13:23