Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Hashowanie do 8-10 znakow
Forum PHP.pl > Forum > Przedszkole
JustMe
Witam, chcialem zapytac czy jest jakis hash ktory da np 8 albo 9 czy max dziesiec znakow ? Najlepiej jakby lizbaczba znakow byla stala tak jak w md5 ze znako jest zawsze 32. Jak to jest z crc32() ?
JustMe
Damonsson widzialem to - moze napisze o co chodzi - chcialbym hashowac adres email aby logowac sie podajac ten ten kod. Moze on zawierac litery - male,duze i cyfry i musi miec zawsze tyle samo znakow - 8 to akurat w miare latwy do zapamietania smile.gif niz 32.
tolomei
Witaj.

  1. $email = 'jan.kowalski@example.com';
  2.  
  3. hash('adler32', $email);
  4. // 75a20966
  5.  
  6. hash('crc32', $email);
  7. // 815cd69e
  8.  
  9. hash('crc32b', $email);
  10. // e67a8275


Pozdrawiam.
JustMe
Witam, no niby wszystko ladnie o co mi chodzi ale np. czemu ten hashing generator aruljohn.com/hash.php daje zupelnie inne wyniki ?
nospor
Cytat
Damonsson widzialem to - moze napisze o co chodzi - chcialbym hashowac adres email aby logowac sie podajac ten ten kod. Moze on zawierac litery - male,duze i cyfry i musi miec zawsze tyle samo znakow - 8 to akurat w miare latwy do zapamietania niz 32.
Wiem, że nie na temat, ale takich cudów to już dawno nie widziałem..... Proszę, zaspokój moją ciekawość i napisz: po co?
!*!
Cytat(JustMe @ 5.03.2013, 09:30:34 ) *
Witam, no niby wszystko ladnie o co mi chodzi ale np. czemu ten hashing generator aruljohn.com/hash.php daje zupelnie inne wyniki ?

Wyniki w niektórych przypadkach zależne są od serwera. hash_algos

nospor - o to samo co zawsze, złudne poczucie bezpieczeństwa biggrin.gif a poza tym, to może być dobry sposób jakiejś kampanii promocyjnej "wpisz kod, dostaniesz banana".
nospor
Cytat
nospor - o to samo co zawsze, złudne poczucie bezpieczeństwa
nie wierzę, że może chodzić o to.... nie wiem z jakiej strony trzeba patrzeć, by zobaczyć w tej metodzie jakieś poczucie bezpieczeństwa, nawet złudnego... smile.gif
JustMe
nie chodzi tu o bezpieczenstwo, chodzi tu o wygenerowanie unikalnego kodu (w tym przypadku hashowanie maila)
nospor
Ale po co? Czemu nie możesz logować się emailem tylko jego hashem?
I poza tym wcale to nie będzie unikalny kod.
JustMe
a trzeba od razu jezdzic po mnie jak po lysej kobyle ?

chodzilo mi o stworzenie krotkiego kodu polecajacego, czyli przy rejestracji jest input (kod osoby polecajacej). Kazda osoba musi miec swoj czyli nie moze sie powtarzac, tez nie moze byc za długi aby latwo bylo zapamietac.
Crozin
1. Znaki a-zA-Z0-9_- dają Ci w sumie 64 kombinacje co możesz wykorzystać jako podstawę systemu liczbowego: analogicznie do binarnego, oktalnego, decymalnego czy heksadecymalnego.
2. hash jak widzisz może zwrócić Ci dane w formie surowej (binarnej).
3. 128-bitowy hash (np. MD5) zapiszesz w czterech znakach.

PS. Hash ten w żadnym wypadku nie będzie unikalny.

EDIT: Dlaczego po prostu nie wylosujesz losowych, unikalnych znaków tylko bawisz się z hashem maila?
nospor
Cytat
a trzeba od razu jezdzic po mnie jak po lysej kobyle ?
He? A kto tu po Tobie jeździ? Jakieś omamy wzrokowe masz? Czy pytanie "po co?" jest wg. Ciebie oznaką jechania po kims? Ktoś tu ma lekką paranoję wink.gif

I poraz kolejny piszę to ja, napisał to też crozin: hash nie daje unikalnego ciągu.
JustMe
my pacjenci zamknietego zakladu psychiatrycznego w morawicy czasem miewamy omamy smile.gif

no ale wracajac do tematu - to jaki macie pomysl na stworzenie takiego kodu ktory bedzie unikalny ?
nospor
Skoro to ma być kod polecający, to nie widzą powodu dla którego ma go ktoś zapamiętywać.

http://php.net/manual/en/function.uniqid.php

A jak chcesz sie bawić w swoje krótkie hashe to zapisuj w bazie kody, które już wygenerowano. Generując kolejny, sprawdzaj, czy istnieje w bazie czy nie i w razie czego odpowiednio reaguj.
JustMe
Kod osoby ktora polecila mi forum
nospor
No ok, ale po co go zapamiętywaćquestionmark.gif Po co mam pamiętać kod osoby, która mi poleciła forum? Robię kopiuj wklej i po sprawie. Nawet jak to będzie 8 znaków to nie mam najmniejszego zamiaru go zapamiętywać...
JustMe
no ok ale np. spotykasz kumpla na ulicy i mowi kumpel - zarjeestruj sie na tym serwisie a podczas rejestracji w miejscu kodu osoby polecajacej wpisz kod (taki i taki) i kolega sobie np zapisuje w telefonie smile.gif

koege nie musi go pamietac ale Ty mozesz smile.gif
nospor
10 lat temu bym uwierzył w taką historyjkę smile.gif
Teraz w dobie wszech obecnej techniki w prawej kieszeni, w lewej kieszeni, ( czasami niektórzy nawet zamiast mózgu używają telefonu) to raczej nikt się nie bawi w zapamietywanie swojego 8 znakowego kodu polecającego... prędzej powie koledze: "To ci wyślę na facebooka".

smile.gif
JustMe
Powiem Ci ze masz racje bo ja nawet jakos nie probowalem nigdy nawet swojeg numeru telefonu zapamietac bo zawsze po prostu biore telefon i tam jest smile.gif (ok wydje na totalnego ...)


Ok Panowie, juz wiem jak to zrobie, po prostu po id + rand() pilnujac zeby bylo np 10 albo cos innego wymysle smile.gif dziekuje
nospor
Cytat
Ok Panowie, juz wiem jak to zrobie, po prostu po id + rand() pilnujac zeby bylo np 10 albo cos innego wymysle
Przecież podałem ci funkcję, która generuje unikalny ciąg smile.gif
aras785
Jakieś kody już dawno wyginęły. Robisz tak jak koledzy powiedzieli czyli przy rejestracji generujesz unikalny kod i po prostu robisz link polecający: http://twojastrona.pl/rejestracja.php?polecil=tenkod lub zamiast kodu nick użytkownika, który polecił.
Kto specjalnie będzie kopiować i pamiętać jakiś "kod" żeby ktoś mógł dostać jakieś bonusy?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.