---
title: "Hur unikt är ett sessionsid?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/144715-hur-unikt-är-ett-sessionsid"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "aasah"
published: "2006-03-28T22:33:54.000Z"
updated: "2006-04-02T09:59:19.000Z"
replies: 7
views: 493
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/144715-hur-unikt-är-ett-sessionsid"
---

# Hur unikt är ett sessionsid?

## #1 — aasah, 2006-03-28T22:33Z

1) Är ett sessionsid unikt bara medan någon använder det, eller vet man att det aldrig återkommer för en annan användare? 

följdfråga) Kan man använda sessionsid som primärnyckel i en databasrelation?

2) Är ett sessionsid alltid en 32 bokstäver lång sträng? Vilket luktar md5(x)...

Permalänk: https://www.webforum.nu/p/144715

## #2 — Matte, 2006-03-29T09:02Z

> **Manualen om konfigurationen skrev:**
>
> *session.hash_function* integer
> *session.hash_function* allows you to specify the hash algorithm used to generate the session IDs. '0' means MD5 (128 bits) and '1' means SHA-1 (160 bits). 
> 
> **Note**: This was introduced in PHP 5. 
> 
> *session.hash_bits_per_character* integer
> *session.hash_bits_per_character* allows you to define how many bits are stored in each character when converting the binary hash data to something readable. The possible values are '4' (0-9, a-f), '5' (0-9, a-v), and '6' (0-9, a-z, A-Z, "-", ","). 
> 
> **Note**: This was introduced in PHP 5.

PHP använder alltså MD5 som default, men kan i PHP5 ställas om.

Jag vet inte hur stor sannolikheten för att MD5 genererar samma hash två gånger är, men i vilket fall är det teoretiskt möjligt.

Permalänk: https://www.webforum.nu/p/1788289

## #3 — esrange, 2006-03-29T20:42Z

Eftersom att ett sessionsid är ett MD5-hash så är det ganska unikt, kommer inte ihåg exakt hur algoritmen arbetar men jag kan säga så mycket som att 111111 och 111112 inte genererar MD5-hash som är det minsta lika.

Permalänk: https://www.webforum.nu/p/1788581

## #4 — GunnarD, 2006-03-30T05:38Z

Någon som vet vad PHP bygger sin hash på?

Permalänk: https://www.webforum.nu/p/1788635

## #5 — aasah, 2006-03-31T18:53Z

Tack, Matte! :D 

Primärnyckel är ingen bra idé alltså. Men samtidigt måste det vara hyfsat unikt för annars skulle det ju inte fungera i praktiken. Har någon hört talas om att två användare samtidigt haft samma sessionsid? :q

esrange - det är visserligen sant som du säger, men frågan var den omvända. Hur stor är sannolikheten att två olika strängar får samma hash?

Permalänk: https://www.webforum.nu/p/1792397

## #6 — tydal, 2006-03-31T20:09Z

> **aasah skrev:**
>
> Har någon hört talas om att två användare samtidigt haft samma sessionsid? :q

Samtidigt går ju inte eftersom sessions-ID:t då redan finns. Frågan är ju i stället om sessions-ID:t kan återanvändas.

> **aasah skrev:**
>
> Hur stor är sannolikheten att två olika strängar får samma hash?

1 / 2^128

Permalänk: https://www.webforum.nu/p/1792410

## #7 — aasah, 2006-04-02T07:01Z

> **tydal skrev:**
>
> > **aasah skrev:**
> >
> > Hur stor är sannolikheten att två olika strängar får samma hash?
>
> 1 / 2^128

Hmm... tänker jag fel nu? Gäller inte detta endast under förutsättningen att md5 genererar hashvärden med likformig fördelning? Vet vi att den gör det?   :q

Permalänk: https://www.webforum.nu/p/1792716

## #8 — tydal, 2006-04-02T09:59Z

> **aasah skrev:**
>
> Hmm... tänker jag fel nu? Gäller inte detta endast under förutsättningen att md5 genererar hashvärden med likformig fördelning? Vet vi att den gör det?   :q

Nej, det vet vi inte, men hittar du några bevis för motsatsen kan du nog bli berömd.

Om strängarna är kortare än 17 tecken ska sannolikheten vara 0 för att hasharna blir samma. För längre strängar så räcker ju inte antalet hashar till (2^128) utan då måste det finnas två strängar som ger samma. Men att hitta dessa är alltså väldigt osannolikt. Eller, ska vara:
<http://paginas.terra.com.br/informatica/paulobarreto/hflounge.html>

Permalänk: https://www.webforum.nu/p/1792741

---

Tråden på webben: https://www.webforum.nu/amne/php/144715-hur-unikt-är-ett-sessionsid
