guidin pitäisi olla ainutlaatuinen, mutta on kuitenkin olemassa pienenpieni todennäköisyys että kaksi samanlaista guidia menee päällekäin. kuvitellaan vaikka jotain todella tärkeää tietokantaa, joka sekoaa sen takia kun siellä on samat guidit. siinä sitten voi mennä jonkun säästöt, ja muuta vastaavaa. hirveästi sattumaa pelissä siis. toivottavasti ydinaseiden laukaisujärjestelmissä ei käytetä näitä mikkisoftan guideja.. :/
guidien käytöstä...
huolestuttaa...
2228
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 2
Vanhimmat
Voisit ensin vaikka lukea wikipedian englannin kielisen artikkelin aiheesta, jonka jälkeen ymmärtäisit, että todennäiköisyys saada kaksi samaa id:ä on lähellä nollaa.
>>For example, consider the observable universe, which contains about 5×10^22 stars; every star could then have 6.8×10^15 universally unique GUIDs.
MS:n alkuperäinen GUID -generaattori tuottaa hyvin suurella todennäköisyydellä uniikkeja GUIDeja (eli ei tuota ikinä 2 samanlaista).
Käsittääkseni uniikkius on 100% taattu, jos koneessa on verkkokortti eikä koneen kelloa käännellä taaksepäin.
JOS haluat yksityisyydensuojasyistä estää verkkokortin MAC -osoitteen (=6 tavua) sisällyttämisen GUIDiin /yhteensä 16 tavua binääridataa), silloin tulee mahdollisuus, että 2 eri konetta onnistuisivat generoimaan saman GUIDin.
Tällaista yksityisyydensuojaa on haluttu erityisesti esim. vertaisverkko-ohjelmissa, esim. Gnutella.
Jostain pitäisi löytää tarkka speksi mitä noihin eri 16 tavuun laitetaan.
Delphissä voi editorissa tuottaa GUIDin:
Ctrl+Shift+G
ESIMERKKIKOODIa Delphillä:
uses
ComObj, ActiveX;
function CreateGuid: string;
var
ID: TGUID;
begin
Result := '';
if CoCreateGuid(ID) = S_OK then
Result := GUIDToString(ID);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := CreateGuid;
// or: Edit1.Text := CreateClassID
end;