ugrás a tartalomhoz

Egyedi hash

castaw · 2014. Nov. 28. (P), 18.49
Sziasztok!

Egyedi űrlapokat szeretnék megjeleníteni bejelentkezés nélkül (kb elfelejtett jelszó szituáció).

ehhez egy sha256 hash-t használok, az url ilyesmi:
domain.hu/urlap/0dbeda6368345e936dc822d0f34b3df98ij61653002ee12a10983537a5faca49
így áll össze a kódolás előtti string:
$unique_id.time().rand(10000,99999);
A kérdésem az lenne, hogy így mindig egyedi hash-t kapok?

(-ami a nagyságrendet illeti, egyszerre kb 300 sor van ebben a táblában (ez később felmehet max 1500 körülire), mivel az elavuló űrlapok törlődnek idővel.
-ami a biztonságot illeti, egyszer használható űrlapról van szó időkorláttal, x hibás hash hívása után /próbálgatás/ tiltom az ip-t egy időre)
 
1

nem

Pepita · 2014. Dec. 1. (H), 08.38
Nem biztos hogy egyedi lesz a random miatt. de ennyi rekordnal kicsi az esely ismetlodesre.

Mielott beszurod a tablaba. ellenorizd hogy nincs e mar ilyen. Ha van keszits ujat.
5

Nem biztos hogy egyedi lesz a

Joó Ádám · 2014. Dec. 5. (P), 11.14
Nem biztos hogy egyedi lesz a random miatt.


Nem a random szám miatt nem biztos, anélkül is lehet ütközés (nem lesz).
2

csináld így a

szabo.b.gabor · 2014. Dec. 1. (H), 09.47
csináld így a linket

domain.hu/urlap/{unique_id}s{ellenorzo_hash}

s (separator) helyett lehet bármi, a lényege annyi, hogy szét lehessen választani az id-t és a hash-t. nem gond, hogy kint van az id, a hash-t ettől még nem lesz egyszerűbb kitalálni (főleg ha a hash nem függ erősen az id-től)

így tuti nem lesz ütközésed.
3

Köszönöm!

castaw · 2014. Dec. 3. (Sze), 19.41
Jobban megfogalmazva azt kellett volna kérdeznem, hogy egyedi forrás egyedi hash-t eredményez e sha256 esetén (rövidebb forrást feltételezve)?
A válaszokból azt szűröm le hogy igen.
4

A válaszokból én ilyet nem

szabo.b.gabor · 2014. Dec. 4. (Cs), 09.15
A válaszokból én ilyet nem szűrtem le, de itt azt írják, hogy tulajdonképpen igen.
6

A kérdésedre a válasz az,

Joó Ádám · 2014. Dec. 5. (P), 11.23
A kérdésedre a válasz az, hogy se rövidebb, se hosszabb forrás esetén nem garantált az egyedi kimenet semmilyen hash esetén.

A gyakorlatban a SHA256 értékkészlete olyan nagy, hogy a feladattól függően mérlegelhetsz. A te esetedben tekinthető egyedinek a kimenet. Ahol emberélet múlik rajta, ott nem.
8

Nem

plip · 2014. Dec. 7. (V), 14.00
Mivel végtelen elemszámú halmazhoz rendelsz hozzá véges számú halmazt, ezért a válasz NEM. Gyakorlatilag viszont olyan nagy elemszámokról van szó, hogy az ismétlődés esélye szinte nulla (de nem nulla!) Viszont tudtommal nem függ a forrás hosszától.
7

Miért használsz hashfüggvényt

Joó Ádám · 2014. Dec. 5. (P), 11.25
Miért használsz hashfüggvényt véletlenszám generálásra?