Criptage de texte en javascript

Fermé
micropro7 Messages postés 39 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 17 avril 2014 - 30 sept. 2009 à 16:47
micropro7 Messages postés 39 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 17 avril 2014 - 10 sept. 2010 à 22:18
Bonjour,
j'ai écris un petit programme qui consiste à repondre à une question posée en entrant la repose dans une zone de texte <input type="text" id="proposition">.
Les questions et les reponses se trouvent dans un fichier javascript "questionnaire.js" dans des variables tableau.

exemple:
Var question=new array()
question[0]="Combien de mois compte une année?";
question[1]="Donner la date d'indépendance de la Côte d'Ivoire";
question[2]="Que signifie l'abréviation ONU?";
...

Var reponse=new array()
reponse[0]="12";
reponse[1]="1960";
reponse[2]="Organisation des Nation Unies";
...

Au click sur le bouton de vaklidation de la reponse, je récupère le contenu de la zone de texte "proposition"
je le compare à la reponse exacte et je donne une note.
Mon problème est que si l'utilisateur affiche le code source de la page web, il pourra voir les reponses aux question et donc il repondra à toutes les questions sans difficultés

Mon souhait:
1) Je souhaite donc cripter le contenu du fichier "questionnaire.js" afin que même si quelqu'un affiche le code il n'y voit absolument rien.
2) Aussi je voudrais que les questions vienne de façon aléatoire, je veux dire au hazard c'est à dire lors que la question 2 s'affiche , la suivante ne soit pas forcément le 3 mais un numéro comme pris au hazard.


Merci de repondre à ma préocupation

5 réponses

Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
30 sept. 2009 à 19:27
1. Une solution serait de stocker non pas les réponse mais le résultat du hachage de celles-ci.
Le hachage est un "cryptage" qui n'a pas d'inverse donc il est impossible de trouver les bonnes réponses à partir de leur hachage, par contre on peut comparer le hachage de la réponse donnée avec celui de la bonne réponse : si les hachages sont identiques alors les réponses sont identiques.
Va voir par là par exemple :
http://pajhome.org.uk/crypt/md5/index.html

2. Pour obtenir un nombre aléatoire entre 0 et n utilise :
x = Math.round(Math.random()*n)
0
watou Messages postés 199 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 19 avril 2013 28
30 sept. 2009 à 20:05
une autre methode :
sauvegarder les questions et les reponses dans un fichier.
faire les testes avec php !!
puisque le script php est executer au niveau du serveur, l'untilisateur ne le verra pas.
0
micropro7 Messages postés 39 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 17 avril 2014
8 juil. 2010 à 14:50
salut, ça marchera mais l'inconvénient est que ça sera trop lent. J'ai décidé un moment de le reécrire en php et jy suis arrivé mais ça sera trop lent. En fait pour transmettre la réponse donnée par l'user au serveur il vas faloir que la page se recharge et donc c'est pas trop class.
0
micropro7 Messages postés 39 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 17 avril 2014
13 oct. 2009 à 13:07
merci je vais proceder comme ca
0
watou Messages postés 199 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 19 avril 2013 28
6 août 2010 à 20:05
désolé pour le retard ;)

en fait, il vaut mieux stocker tes questions et réponses dans une base de données !!
puis, pour comparer les réponses exactes et les réponses introduites, tu fais un script php que tu vas appeler en utilisant ajax !!! (sans recharger la page)

si t'as besoin d'aide je serais là ! :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
micropro7 Messages postés 39 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 17 avril 2014
10 sept. 2010 à 22:18
ok, tu sais en fait au moment ou tu postais ce message je ne savais pas encore utiliser ajax mais maintenant que je sais le faire je pense que je vois l'utilité de ton message.
Mercii donc!
0