webForumDet fria alternativet

Hasha id'n?

4 svar · 941 visningar · startad av bassebhu

bassebhuMedlem sedan nov. 20014 028 inlägg
#1

Hallå!

I stället för att använda index.php?id=1 skulle jag vilja använda en hashsträng. Hur är bäst att göra detta?

När jag skapar en databaspost får de automatiskt ett id. Ska jag även spara ett hashvärde i en annan kolumn? Låt säga md5(1) för enkelhetens skull eller kan jag direkt i sql-frågan göra följande check (fast escapat såklart)?
"WHERE md5(id) = '" . $_GET['id'] . "'"

Och nästa fundering. Sannolikheten att få samma hashvärde är inte så stor, men jag antar att den finns och att det är nåt mer som ska till än att bara spara md5(id) i en hashkolumn om det är vägen att gå. Ska jag i så fall även ha en kontroll som kollar om hashvärdet redan finns nånstans och om det gör det hasha det ytterligare en gång och göra en ny check, eller liknande?

Och till sist, är det 32 tecken som gäller för strängen eller ska jag sikta lägre? Vi snackar en databas med max 1000 poster, men vill göra det rätt ändå.

Tack för svar! :)

@ndersMedlem sedan juni 200026 914 inlägg
#2

Finns det någon anledning att du vill använda ID för din hash?
Jag hade använt ett vanligt GUID (UUID) istället.

http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_uuid

mvh

bassebhuMedlem sedan nov. 20014 028 inlägg
#3

ok, cool! Tycker bara att det ser B ut med id=1 och lättare för folk att försöka hacka. Hur lockar jag fram GUID i php? :D
Jag kan ju googla, men det var så länge sen vi pratades vid ;)

Kanske dax att uppdatera veckans snabel snart!

@ndersMedlem sedan juni 200026 914 inlägg
#4

:)

Måste du locka fram det i php? Du kan använda det direkt i SQL om du kikar på länken. I php är det bara att hantera som vilken sträng som helst (och det borde väl lagras som det i databasen också.)

mvh

bassebhuMedlem sedan nov. 20014 028 inlägg
#5

m'kay, får dyka in i det lite mer, tack. Återkommer säkert :P

Genererad på 370 ms · cache AV · v20260730165559-full.f96bc7eb