[undefined] string aleatoire
|
23-11-2012, 17h39
Message : #1
|
|
InstinctHack
Posting Freak Messages : 1,366 Sujets : 184 Points: 299 Inscription : Dec 2011 |
[undefined] string aleatoire
Pas de language défini ...
Tinyurl, youtube, n-pn utilise des liens avec un id aleatoire de x caractere dans un alphabet de y longueur. pour le generer pas de probleme, en revanche si x vaut 26 et x == 1, l'evantaille de possibilité diminue rapidement avec l'insertion de donnée... Donc mon problème est : Comment obtenir un id aleatoire et n'etant pas deja utiliser... Pour le moment, c'est while(true) { $a=genere-id(); If(is-disponible($a)) {Return;} } Sauf que ce système tourne de plus en plus avec le remplissage de la bdd, donc comment faire ? Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!" |
|
23-11-2012, 17h42
(Modification du message : 23-11-2012, 17h42 par Dobry.)
Message : #2
|
|
Dobry
Tueur de lamouz Messages : 206 Sujets : 25 Points: 73 Inscription : Aug 2011 |
RE: [undefined] string aleatoire
Je pense que tu veux dire si "y vaut 26 et x==1" non ? (sinon ca n'a pas beaucoup de sens)
Je n'ai pas bien compris pourquoi tu voulais limiter X à 1.
Aestuārium Erudītiōnis
There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors.
|
|
23-11-2012, 17h44
Message : #3
|
|
Kiwazaru
Padawan d'un super escargot Messages : 284 Sujets : 26 Points: 139 Inscription : Mar 2012 |
RE: [undefined] string aleatoire
Bah tu peu pas faire une vérification dans la BDD pour voir si l'id est déjà utilisé et faire une condition: Si deja_utilise alors on regenère et ainsi de suite jusqu'a temps qu'il ne soit pas utilisé?
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
|
|
23-11-2012, 17h52
Message : #4
|
|
InstinctHack
Posting Freak Messages : 1,366 Sujets : 184 Points: 299 Inscription : Dec 2011 |
RE: [undefined] string aleatoire
La limitation de x est pour bien montrer le problème rencontrer, sinon il pourrait etre augmenter, mais le problème reste le meme quand la bdd se remplis..
@hat c'est deja le systeme en place. Sinon j'ai penser a generer un fichier contenant toutes les possibilités et supprimer ceux que j'utilise au fur et a mesure, mais ça risque de faire un gros fichier :/ Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!" |
|
23-11-2012, 17h53
(Modification du message : 23-11-2012, 18h01 par Dobry.)
Message : #5
|
|
Dobry
Tueur de lamouz Messages : 206 Sujets : 25 Points: 73 Inscription : Aug 2011 |
RE: [undefined] string aleatoire
Tu auras y^x différents choix, c'est facile à calculer xD
Donc imagines une fonction qui génère 32 charactères, alphanumériques (36) y = 36^32 = 6.334028666×10⁴⁹ ID possibles, ce qui fait pas mal...
Aestuārium Erudītiōnis
There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors.
|
|
23-11-2012, 18h04
Message : #6
|
|
ark
Psyckomodo! Messages : 1,033 Sujets : 48 Points: 317 Inscription : Sep 2011 |
RE: [undefined] string aleatoire
(23-11-2012, 17h52)khaled a écrit : Sinon j'ai penser a generer un fichier contenant toutes les possibilités et supprimer ceux que j'utilise au fur et a mesure, mais ça risque de faire un gros fichier :/ Ça va mettre longtemps a le générer aussi... Sinon, pourquoi ne pas te baser sur une fonction mathématique dont tu est sur que le résultat ne seras jamais deux fois le même ? (idée a la con, mais ça peut marcher.) |
|
01-12-2012, 03h26
Message : #7
|
|
Banni Messages : 121 Sujets : 10 Points: 22 Inscription : Feb 2012 |
RE: [undefined] string aleatoire
Ouais tu fais ton propre algo de génération d'ID's, comme ça au moins tu es pépère.
|
|
01-12-2012, 03h40
(Modification du message : 01-12-2012, 03h41 par b0fh.)
Message : #8
|
|
b0fh
Membre actif Messages : 210 Sujets : 17 Points: 309 Inscription : Jul 2012 |
RE: [undefined] string aleatoire
Hello,
Inutile de vérifier que tes IDs sont déja utilisés. Il suffit de les prendre assez longs, et d'avoir une source random de bonne qualité. Si tu génères des IDs aléatoires longs de b bits, la probabilité d'une collision devient significative quand la taille de la DB atteint environ 2^(b/2). Tu peux googler "paradoxe des anniversaires" pour des indications plus précises sur le calcul de la probabilité d'une collision. Mais pour donner un ordre de grandeur, avec un ID aléatoire de 64 bits (soit 8 bytes, ou 16 caractères hexadécimaux) et une BDD de 200k entrées, tu as encore plus de chances de gagner le jackpot a l'euromillions (~10^-8) que d'observer une collision (10^-9). Avec un ID de 128 bits, il faut une BDD de 10^14 entrées pour atteindre une probabilité équivalente. |
|
01-12-2012, 09h29
Message : #9
|
|
InstinctHack
Posting Freak Messages : 1,366 Sujets : 184 Points: 299 Inscription : Dec 2011 |
RE: [undefined] string aleatoire
Bofh, je sais bien que la probabilité est infime quand la longueur est suffisante, mais justement je me posais la question quand ce n'est pas le cas ^^ mais merci de tes précisions
Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!" |
|
« Sujet précédent | Sujet suivant »
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
[UNDEFINED] BotNet Tracking | sakiir | 11 | 574 |
30-10-2012, 11h46 Dernier message: sakiir |
|
[UNDEFINED] Chiffrement RSA plus Key ? | InstinctHack | 4 | 218 |
26-09-2012, 15h26 Dernier message: InstinctHack |
|
[UNDEFINED] Pentest BlackBerry | acideburn | 4 | 252 |
29-08-2012, 17h14 Dernier message: symfhp |
|
[Php] Metre le contenu d'un include dans une string | CyberSee | 1 | 173 |
06-03-2012, 11h38 Dernier message: Quentin |
Utilisateur(s) parcourant ce sujet : 2 visiteur(s)