KarLTkT
Messages postés8Date d'inscriptionvendredi 5 février 2010StatutMembreDernière intervention 8 février 2010 5 févr. 2010 à 12:17
Bonjour,
Je cherche le moyen de générer des clés d'activation en fonction de la date du jour, après validation d'un formulaire.
Concrètement, l'utilisateur installe un programme Visual Basic, qui lui demande une clé pour être activé. L'utilisateur rempli donc un formulaire html sur un page web, puis la validation du formulaire lui donne une clé après une opération simple sur la date du jour. L'utilisateur entre donc le code créé dans le programme qui connait également la même formule opérée pour la date, pour vérifier le code et activer son application.
La partie "application" est déjà faite et fonctionnelle, c'est plutot le moyen de générer des clés en fonction de la date que je ne connais pas. (je ne cherche pas à contrôler l'identification d'un utilisateur, comme je l'ai souvent trouvé dans le forum, mais uniquement à afficher un code en fonction de la date).
On peut donc imaginer un formulaire html, qui mène ensuite vers une page en php qui génère le code automatiquement. Je ne veux biensûr pas stocker les clés, puisqu'elles sont créés en fonction de la date.
J'espère que j'ai été assez clair,
Merci d'avance à qui voudra bien m'aider !
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 24 oct. 2008 à 20:21
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°
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 24 oct. 2008 à 19:35
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.
phpmandu
Messages postés2Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention24 octobre 2008 24 oct. 2008 à 19:19
Le problême , c'est que si la fonction de vérification deviens publique , elle n'aura plus aucune utilitée ...
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 24 oct. 2008 à 19:13
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... .. .
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...
Voili voilou... le code n'est pas tip top mais c'est en forgeant qu'on devient forgeron... .. .
@ tchaOo°
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 24 oct. 2008 à 10:19
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 :)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 24 oct. 2008 à 09:32
et euh... t'as aucune fonction de "verification" ?
Palleas_44
Messages postés130Date d'inscriptionlundi 12 décembre 2005StatutMembreDernière intervention19 avril 2009 23 oct. 2008 à 21:33
5 févr. 2010 à 12:17
Je cherche le moyen de générer des clés d'activation en fonction de la date du jour, après validation d'un formulaire.
Concrètement, l'utilisateur installe un programme Visual Basic, qui lui demande une clé pour être activé. L'utilisateur rempli donc un formulaire html sur un page web, puis la validation du formulaire lui donne une clé après une opération simple sur la date du jour. L'utilisateur entre donc le code créé dans le programme qui connait également la même formule opérée pour la date, pour vérifier le code et activer son application.
La partie "application" est déjà faite et fonctionnelle, c'est plutot le moyen de générer des clés en fonction de la date que je ne connais pas. (je ne cherche pas à contrôler l'identification d'un utilisateur, comme je l'ai souvent trouvé dans le forum, mais uniquement à afficher un code en fonction de la date).
On peut donc imaginer un formulaire html, qui mène ensuite vers une page en php qui génère le code automatiquement. Je ne veux biensûr pas stocker les clés, puisqu'elles sont créés en fonction de la date.
J'espère que j'ai été assez clair,
Merci d'avance à qui voudra bien m'aider !
24 oct. 2008 à 20:21
@ tchaOo°
24 oct. 2008 à 19:35
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.
24 oct. 2008 à 19:19
24 oct. 2008 à 19:13
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°
24 oct. 2008 à 10:19
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 :)
24 oct. 2008 à 09:32
23 oct. 2008 à 21:33
<?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