Autorius Tema: Ar saugu naudoti tokį generatorių?  (Skaityta 1493 kartus)

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Ar saugu naudoti tokį generatorių?
« Įrašytas: 2011-09-13 12:36:37 pm »
Sveiki, naudoju tokį generatorių, kad jis sukurtų id ir patikrintų duomenų bazėje, tai norėjau paklausti ar galimas toks variantas? :)
function id($length = 32) {
    $ranges = array(range(1, 9));
    $code = '';
    for ($i = 0; $i < $length; $i++) {
        $rkey = array_rand($ranges);
        $vkey = array_rand($ranges[$rkey]);
        $code .= $ranges[$rkey][$vkey];
    }
    $checkid = mysql_query("SELECT * FROM sc_users WHERE `id` = '" . $code . "'");
    $checkid2 = mysql_num_rows($checkid);
    if ($checkid2 >= 1) {
        return id();
    } else {
        return $code;
    }
}

Veikti jis veikia be priekaištų, tad klausimas tik ar tvarkingai ir saugiai atrodo kodas + ar didesniam srautui esant jis "nepakibdys" sistemos? :)

Ačiū

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #1 Įrašytas: 2011-09-13 12:53:50 pm »
nepaprasciau naudoti pacio php funkcija?


http://php.net/manual/en/function.uniqid.php
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #2 Įrašytas: 2011-09-13 13:00:59 pm »
Kol kas noriu šitaip :)

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #3 Įrašytas: 2011-09-13 13:34:14 pm »
gali padidint dar entropija padarydamas kaip nors taip:

<?php

function id(){
return uniqid(mt_rand().mt_rand(), true);
}

?>


grazins tokias eilutes:

Citata
32090510220801803024e6f3f7081e2f6.40392005
208062550814799096884e6f3f7081e3c6.51475146
29509578212729142934e6f3f7081e565.87857336
1266297928290229584e6f3f7081e5c2.28477448
13163869592721448554e6f3f7081e620.75360754
174665246910308173824e6f3f7081e6c3.38764695
127896408413247890024e6f3f7081e721.50075433
21455256645520705814e6f3f7081e787.26332197
45951697914742998634e6f3f7081e822.34335583
16787595115358235214e6f3f7081e877.61919057
64376427717884445074e6f3f7081e8d4.48641078
142871493517093162044e6f3f7081e978.73625139
84581714215758067314e6f3f7081e9d8.12996888
15250876156070201734e6f3f7081ea32.47239327
21284707676590311574e6f3f7081eac6.08638117
74909921717800933094e6f3f7081eb24.16973019
20468844499480903144e6f3f7081eb89.32365393
18676452071699856704e6f3f7081ec20.05089117
182848358521413851074e6f3f7081ec84.02942384
161807972315505415254e6f3f7081ecd0.63281929
13455910496693636924e6f3f7081ed74.52045516
132392050318837266924e6f3f7081edd0.32679149
90928846420684576214e6f3f7081ee31.02963038
186058611020854072494e6f3f7081eed5.10163843
142822049520461108344e6f3f7081ef28.77019772
10598218041312229054e6f3f7081ef85.87263080
52041822713700599264e6f3f7081f027.58713758
791990920227791704e6f3f7081f081.65024012
53954596117275661914e6f3f7081f0d3.18230660
38391617820674110954e6f3f7081f174.58307006
23178749919327234634e6f3f7081f278.14595681
11393995381992274724e6f3f7081f315.45426356
11883684504146319684e6f3f7081f3c2.58885701
185350676210665650234e6f3f7081f421.59317119
17326634698914008614e6f3f7081f474.25379380


http://www.php.net/manual/en/function.mt-rand.php
http://php.net/manual/en/function.uniqid.php

greitas ir geras skriptas + palyginus su tavuoju visiskai nesudetingas. toki id generatoiu galetum naudoti net jei turi toki srauta kaip facebook'as.

p.s. su situ skriptu sql tikrinimo gali nedaryti, nes tikimybe kad tau susidubliuos id yra tokia pat, kaip kad dabar pat nukristu tau i kiema meteoritas ir nuo jo nuliptu baronas Miunhauzenas :)
« Paskutinį kartą keitė: 2011-09-13 13:37:04 pm sukūrė Lukas Liesis »
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Manualai.lt Forumas

Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #3 Įrašytas: 2011-09-13 13:34:14 pm »

Neprisijungęs Modestas Vaitkevičius

  • Dalyvis
  • **
  • Įrašai: 2005
  • Karma: +56/-16
    • Žiūrėti profilį
    • Apie mane
Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #4 Įrašytas: 2011-09-13 13:51:57 pm »
Na ačiū :) Padariau taip :)

Neprisijungęs Giedrius

  • Naujokas
  • *
  • Įrašai: 77
  • Karma: +3/-0
    • Žiūrėti profilį
Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #5 Įrašytas: 2011-09-13 18:38:12 pm »
p.s. su situ skriptu sql tikrinimo gali nedaryti, nes tikimybe kad tau susidubliuos id yra tokia pat, kaip kad dabar pat nukristu tau i kiema meteoritas ir nuo jo nuliptu baronas Miunhauzenas :)

 :D
Biški pakalkuliavau, tai žodžiu, kad pasiektum 1 procento tikimybę sekančiai sugeneruoto kodo eilutei susidubliuot su jau sukurtomis, tau reiks duom. bazėj turėt ~700000000000000000000000000000000000000000000000000000000000000 tokių kodų :D

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #6 Įrašytas: 2011-09-14 11:39:07 am »
Biški pakalkuliavau, tai žodžiu, kad pasiektum 1 procento tikimybę sekančiai sugeneruoto kodo eilutei susidubliuot su jau sukurtomis, tau reiks duom. bazėj turėt ~700000000000000000000000000000000000000000000000000000000000000 tokių kodų :D

matos, kad matematikas.. :DD

ivertinai, kad uniqid funkcija remiasi mikrosekundes kaip seed'a + su true reiksme dar entropija isauga pagal "combined linear congruential generator" algortima?:D

neskaitant tu keliu mt_rand() :))
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs Giedrius

  • Naujokas
  • *
  • Įrašai: 77
  • Karma: +3/-0
    • Žiūrėti profilį
Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #7 Įrašytas: 2011-09-14 14:14:39 pm »
Biški pakalkuliavau, tai žodžiu, kad pasiektum 1 procento tikimybę sekančiai sugeneruoto kodo eilutei susidubliuot su jau sukurtomis, tau reiks duom. bazėj turėt ~700000000000000000000000000000000000000000000000000000000000000 tokių kodų :D

matos, kad matematikas.. :DD

ivertinai, kad uniqid funkcija remiasi mikrosekundes kaip seed'a + su true reiksme dar entropija isauga pagal "combined linear congruential generator" algortima?:D

neskaitant tu keliu mt_rand() :))
Jo, galima sakyt kad įvertinau :D nes paėmiau nuošimtį nuo visų galimų kombinacijų skaičiaus ir kuo entropija didesnė, tuo mano rezultatas bus arčiau realios reikšmės, nes entropija tai regis yra tam, kada naikint dėsningumus, žodžiu, kad pasiekt "complete ramdomness" tai kuo randomas didesnis, tuo algoritmas arčiau matematinio modelio :P

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #8 Įrašytas: 2011-09-14 15:09:52 pm »
tipo limas i begalybe? tam matematiniam modely, nezinau kaip tu ten skaiciuoji tiksliai :)
« Paskutinį kartą keitė: 2011-09-14 15:11:29 pm sukūrė Lukas Liesis »
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs Giedrius

  • Naujokas
  • *
  • Įrašai: 77
  • Karma: +3/-0
    • Žiūrėti profilį
Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #9 Įrašytas: 2011-09-14 15:34:28 pm »
tipo limas i begalybe? tam matematiniam modely, nezinau kaip tu ten skaiciuoji tiksliai :)
Savotiška begalybė ir gaunas, kai galim vis didint algoritmo randomą bet iki realaus pasaulio randomo neprieisim, nes algoritmai vistiek turi savo kažkokius patternus. Pvz. nepereseniausiai kai kuriems pavyko pastebėt loterijos bilietų laimėjimo numerių generavimo dėsningumus ir normaliai pasipelnyt :) Nebent kompui duosi input'a iš realaus pasaulio tikimybinio proceso ar panašiai, bet čia jau kita tema visai :D

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #10 Įrašytas: 2011-09-14 15:58:04 pm »
tipo limas i begalybe? tam matematiniam modely, nezinau kaip tu ten skaiciuoji tiksliai :)
Savotiška begalybė ir gaunas, kai galim vis didint algoritmo randomą bet iki realaus pasaulio randomo neprieisim, nes algoritmai vistiek turi savo kažkokius patternus. Pvz. nepereseniausiai kai kuriems pavyko pastebėt loterijos bilietų laimėjimo numerių generavimo dėsningumus ir normaliai pasipelnyt :) Nebent kompui duosi input'a iš realaus pasaulio tikimybinio proceso ar panašiai, bet čia jau kita tema visai :D

cia jau tema verta susitikti :D galesim kada pakalbet univere ;) cia jau kuo toliau tuo labiau offtopicas gaunasi, todel baigiam :)
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Neprisijungęs Giedrius

  • Naujokas
  • *
  • Įrašai: 77
  • Karma: +3/-0
    • Žiūrėti profilį
Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #11 Įrašytas: 2011-09-14 16:07:03 pm »
tipo limas i begalybe? tam matematiniam modely, nezinau kaip tu ten skaiciuoji tiksliai :)
Savotiška begalybė ir gaunas, kai galim vis didint algoritmo randomą bet iki realaus pasaulio randomo neprieisim, nes algoritmai vistiek turi savo kažkokius patternus. Pvz. nepereseniausiai kai kuriems pavyko pastebėt loterijos bilietų laimėjimo numerių generavimo dėsningumus ir normaliai pasipelnyt :) Nebent kompui duosi input'a iš realaus pasaulio tikimybinio proceso ar panašiai, bet čia jau kita tema visai :D

cia jau tema verta susitikti :D galesim kada pakalbet univere ;) cia jau kuo toliau tuo labiau offtopicas gaunasi, todel baigiam :)
jop  ;)

Manualai.lt Forumas

Re: Ar saugu naudoti tokį generatorių?
« Atsakymas #11 Įrašytas: 2011-09-14 16:07:03 pm »