Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Losowy ciąg
thepiotr
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 2.07.2014

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


Cześć.
A więc chodzi mi o losowanie ciągu i mam pytanie czy skrypt spot tego linku:
http://www.phpshare.org/scripts/Random-String-Generator
poradzi sobie z tym abyciąg się nie powtarzał, a jeśli jest jakaś lepsza funkcja proszę o odpowiedź biggrin.gif
Go to the top of the page
+Quote Post
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


sha1(time()) lub inne tego typu rozwiązanie (wykluczając md5)

i do czego to chcesz?
Go to the top of the page
+Quote Post
thepiotr
post
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 2.07.2014

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


Potrzebne będzie to do skryptu który skraca linki np. php.pl -> domena.pl/skrypt.php?tuciąg

Ten post edytował thepiotr 18.02.2015, 13:06:18
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Może uniqid?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Wrzuć link do skrócenia do sha1() i po kłopocie smile.gif
Go to the top of the page
+Quote Post
thepiotr
post
Post #6





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 2.07.2014

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


Dzięki. Jeszcze mam jedno pytanie czy dla kodu sha może być np. Parę rozwiązań tzn kod sha jest np. Awtjd a to po odkodowaniu znaczy tyle co php.pl albo google.com.
Podobno w md5 było takie przypadki a to jak dla mnie nie wchodzi w grę chociaż by był to wyjątek występowania tego jeden na milion
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #7





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(thepiotr @ 18.02.2015, 14:25:34 ) *
Dzięki. Jeszcze mam jedno pytanie czy dla kodu sha może być np. Parę rozwiązań tzn kod sha jest np. Awtjd a to po odkodowaniu znaczy tyle co php.pl albo google.com.
Podobno w md5 było takie przypadki a to jak dla mnie nie wchodzi w grę chociaż by był to wyjątek występowania tego jeden na milion


Jeśli próbujesz stworzyć skrypt do skracania linków, to generowanie hasha z linku to kiepski pomysł. Bo i po co to robić? Wystarczy, że zapiszesz link do bazy, a wystawisz userowi skrót.

W teorii sha, md5, itd. mają być jednostronne... więc co tu piszesz o odkodowywaniu? Jest to możliwe, ale po co?


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
thepiotr
post
Post #8





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 2.07.2014

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


No tak chodzi mi o to by zrobić jakąś funkcję na skrót ale by się ten skrót nie powtarzał (dlatego napisałem o odkodowaniu), bo później może być problem że są dwie różne domeny a skrót ten sam.. A wiem że jest to możliwe dlatego w takim forum np. Mybb jest stosowane salt do hasła (http://pl.m.wikipedia.org/wiki/Tęczowe_tablice)
Go to the top of the page
+Quote Post
Crozin
post
Post #9





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Mylisz trochę zagadnienia. Sól nie ma tutaj akurat nic do rzeczy.

Tak, dla każdej funkcji skrótu, może dojść do sytuacji gdzie HASH(A) == HASH(cool.gif, ale:
1) prawdopodobieństwo jest bardzo, bardzo małe - dla MD5 jest to 1 : 2^128, a dla takiego SHA512 1 : 2^512 - są to naprawdę niezwykle małe wartości,
2) zawsze przecież możesz sprawdzać dla pełni bezpieczeństwa czy aby przypadkiem wygenerowany skrót już nie jest wykorzystywany.

Do skrócania linków będziesz pewnie chciał wykorzystać jakiś losowy, unikalny (patrz: pkt #2) i w miarę krótki ciąg, zapewne zapisany w Base64 czy nawet Base85.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Wystarczy tak na prawdę:

- Sprawdzić czy adres jest w bazie, jak tak to wypluć skrót
- jak nie ma to przepuścić go przez crypt() i obciąć do xxx znaków
- sprawdzić czy jest hash w bazie to jeszcze raz zakodować, obciąć i znowu sprawdzić.
- Jak nie ma to zapisujesz i koniec.

Nie ważne jakiego hashowania uzyjesz.
Go to the top of the page
+Quote Post
thepiotr
post
Post #11





Grupa: Zarejestrowani
Postów: 43
Pomógł: 2
Dołączył: 2.07.2014

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


Ok, dzięki jak napotkam jakiś problem w związku z tym jeszcze tu napiszę smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 22:59