Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SYSTÊME SEMBLABLE AUX CLÉS CD .


Information sur la source

Description

Bnojur , c'est ma 1ere source donc soyez sympa :D .Ce systêle génere des clés semblable aux clés CD . Sans prétention , vous pourrez l'inclure dans un site payant (pour l'activation de X ou Y service . ) .

 

Source

  • <?php
  • function section_cle($chrs = "") {
  • $chaine = "";
  • $list = "786ABNPQRSTUVWXYZ";
  • mt_srand((double)microtime()*1000000);
  • $string="";
  • while( strlen( $newstring )< $chrs ) {
  • $string .= $list[mt_rand(0, strlen($list)-1)];
  • }
  • return $string;
  • }
  • $nbr_cle = 4 ;
  • echo 'Voici '.$nbr_cle.' clefs a conserver precieusement ! <br /><br /><br />' ;
  • while($nbr_cle != 0)
  • {
  • $nbr_cle -- ;
  • $cle = section_cle(5).'-'.section_cle(5).'-'.section_cle(5).'-'.section_cle(5).'-'.section_cle(2) ;
  • echo'<span style="color:white;background:black;">'.$cle.'</span><br /><br />' ;
  • }
  • ?>
<?php

function section_cle($chrs = "") {

		$chaine = ""; 



		$list = "786ABNPQRSTUVWXYZ";

		mt_srand((double)microtime()*1000000);

		$string="";



		while( strlen( $newstring )< $chrs ) {

			$string .= $list[mt_rand(0, strlen($list)-1)];

		}

		return $string;

	}

$nbr_cle = 4 ;

echo 'Voici '.$nbr_cle.' clefs a conserver precieusement ! <br /><br /><br />' ;
while($nbr_cle != 0)
{
$nbr_cle -- ;
$cle = section_cle(5).'-'.section_cle(5).'-'.section_cle(5).'-'.section_cle(5).'-'.section_cle(2) ;

echo'<span style="color:white;background:black;">'.$cle.'</span><br /><br />' ;

}

?> 

Conclusion

Voila, @ ++ .
 

Commentaires et avis

signaler à un administrateur
Commentaire de Palleas_44 le 23/10/2008 21:33:29

Ou sinon :
<?php
$listeChar = '23456789abcdefghkpqrstwxyzABCDEFGHKJLMNPQRSTUVWXYZ';
$max = strlen($listeChar)-1;
$key = '';
for ($i=0;$i<$size;$i++) {
$key .= $listeChar[mt_rand(0,$max)];
}
?>

Mais personnellement je ne vois pas l'intérêt d'une telle source, désolé :x

signaler à un administrateur
Commentaire de coucou747 le 24/10/2008 09:32:19

et euh... t'as aucune fonction de "verification" ?

signaler à un administrateur
Commentaire de codefalse le 24/10/2008 10:19:46 administrateur CS

En l'état actuel, ta source n'apporte pas de nouveautés par rapport à celles déjà existantes.

Je comprends ta motivation à vouloir proposer tes découvertes aux autres membres, mais ton code existe déjà sous de nombreuses formes sur ce site.

Ce que je te propose, c'est d'améliorer ton code, proposer une fonction de vérification de la clée générée par exemple, peut-être sous des classes si tu veux t'y lancer, etc.

Si tu ne propose pas de modifications, je serai contraint de supprimer ta source.

Je n'ai rien contre toi hein :) c'est juste que trouver 50 fois le même code peux poser problème à un nouveau qui chercherai comment faire :)

Bon courage :)

signaler à un administrateur
Commentaire de kankrelune le 24/10/2008 19:13:12

De toute façon en l'état c'est invérifiable n'importe quelle chaine de la bonne longueur correspondra la seule vérification que tu peux faire c'est en la stockant dans une bdd et en la comparant j'appellerais pas ça un générateur de clée mais plutot un générateur de mot de pass c'est un peu plus compliqué que ça un générateur de clée et dans ce cas pas besoin de boucle... .. .

function section_cle($chrs = 10) { return substr(md5(uniqid(rand(), true)), 0, $chrs); }

sauf si tu as besoin d'un pass de plus de 32 caractères... .. .

sinon sur le présent code...

function section_cle($chrs = "")

pas beau ça $chrs est censé être un entier non ? donc...

function section_cle($chrs = 10)

fait attention au typage un chiffre entier ça n'est pas la même chose qu'une chaine de caractère... .. . ;o)

while( strlen( $newstring )< $chrs ) {

$string .= $list[mt_rand(0, strlen($list)-1)];

}

alors déja en l'état je pense que le code ne fonctionne pas pour la simple et bonne raison que $newstring n'existe pas... en imaginant qu'il sagit de $string ici à chaque itération de ta boucle tu utilise strlen()... ce n'est pas utile car tu sais quelle longueur elle avait au début et tu peux donc facilement savoir quelle longueur elle fait... et surtout c'est couteux en perf si ton pass devait faire 200 caractères tu appellerais 200 fois strlen pour pas grand chose... pareil pour le strlen() qui est dans la boucle...

$string = '';
$passLen = 0;
$listLen = strlen($list)-1;

while($passLen++ < $chrs )
    $string .= $list[mt_rand(0,$listLen)];

tu peux même faire...

$string = '';
$passLen = -1;
$listLen = strlen($list)-1;

while(++$passLen < $chrs )
    $string .= $list[mt_rand(0,$listLen)];

si tu veux grapiller... .. .

Voili voilou... le code n'est pas tip top mais c'est en forgeant qu'on devient forgeron... .. .

@ tchaOo°

signaler à un administrateur
Commentaire de phpmandu le 24/10/2008 19:19:02

Le problême , c'est que si la fonction de vérification deviens publique , elle n'aura plus aucune utilitée ...

signaler à un administrateur
Commentaire de coucou747 le 24/10/2008 19:35:36

bien sur que si... c'est la fonction de generation qui doit-etre cachee...

mais la, tu ne peux pas ecrire de fonction de verification vu ton algo, car comme le dit si bien kankrelune :

De toute façon en l'état c'est invérifiable n'importe quelle chaine de la bonne longueur correspondra.

signaler à un administrateur
Commentaire de kankrelune le 24/10/2008 20:21:49

Bah en fait les deux sont possible tout dépend de l'algo... tu peux travailler avec juste une clé publique et là ta fonction de vérif est privée ou alors travailler avec une clé privée et une clé publique et ta fonction de vérif tu t'en fout c'est la clé privée qui est importante... c'est le principe des clés RSA... .. .

@ tchaOo°

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Variable passed to reset() ... merde ! [ par fcdconnect ] Bonjour .et bien là c'est la merde,j'ai mis en place une source de statistique qui s'appel les visiteurs v1.2 ces script fonctionnait tres bien jusqu La commande FOREIGN KEY dans EasyPHP. [ par BRAUKRIS ] KrisLa commande FOREIGN KEY existe-elle sous la base de donnée EasyPHP?Si non, comment gérer les contrainte d'intégrité referencielle?MERCI D'avance.. FOREIGN KEY ET LES TABLES INNODB (Errcode: 150) [ par BRAUKRIS ] KrisImpossible de mettre deux cles etrangeres dans mes creation de tables, avec une cle ca marche avec deux non. Exemple : CREATE TABLE RESERVATION ( Tableau array etc... [ par Cestmoi ] J'affiche des données de la facon suivante :foreach($server-&gt;rules as $key =&gt; $value) { echo $key." = ".$value."&lt;br&gt;"; } optimisation de script [ par MisterV ] Bonjour,j'ai fait un script permettant de traiter le code HTML d'une page avant son envois a l'utilisateur.ainsi je peux automatiquement ajouter a mes Foreign Key [ par zanis ] Etant connect&#233; &#224; une base de donn&#233;es MySQL &#224; trvers un bout de code en Java Comment on peut retrouver les cl&#233;s &#233;trang&#2 pb création table [ par chamallow ] Bonjour,j'essaye de recr&#233;er ma base de donn&#233;es, mais je n'arrive plus &#224; cr&#233;er certaines tables. Je ne comprend pas d'o&#249; vient Recherche multi-tables [ par JoJo738 ] Hello, J'ai un petit probleme. Je fais un moteur de recherche multi-tables et je n'arrive pas &#224; savoir de quel table vient l'enregistrement. Et i recuperer la valeur d'un serial [ par ChouchouLilou ] Bonjour, Nous aimerions savoir comment recuperer la valeur d'un identifiant apres une insertion (qui a &#233;t&#233; declarer en SERIAL lors de la cr besoin d'aide pour comprendre un petit bout de code [ par twintip ] bonjour,j'aurai aimer savoir si quelqu'un pouvais me dire se que fais ce bout de code&nbsp; : $variables = array("action","page","fichier","gateau1","


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.