Obfuscating les variables POST entre Javascript et PHP

Idéalement, je voudrais crypter les variables de sorte qu'il n'y ait aucun moyen de les comprendre, mais étant donné que le client enverra la variable via javascript et que tout peut être déchiffré s'ils voient le code, je cherche des alternatives.

Je pensais faire en utilisant quelque chose qui renverrait HEX similaire à md5 ou sha1, mais le cryptage, puis certains comment incorporer l'heure ou la date du serveur dans la variable afin que le cryptage ne soit valable que pour 1-2 minutes.

Le javascript aurait une fonction obscurcie / minimisée qui baserait le cryptage à l'heure en fonction de javascript, puis POST-LE à php. Tant que la date / l'heure des serveurs venaient avec X minutes, il décrypterait correctement.

J'aimerais lui envoyer ce qui semble être des données aléatoires, et revenir sur ce qui semble être des données aléatoires. Je ne veux pas que ce soit la même donnée.

Est-ce la meilleure méthode? J'essaie seulement d'empêcher les personnes qui tentent d'utiliser des sniffers HTTP. Je sais qu'une fois qu'ils arrivent à la source javascript, rien ne pourrait l'empêcher d'avoir suffisamment de temps / compréhension de ce qui se passe.

Si vous souhaitez publier un code réel, n'oubliez pas que la fonction / la capacité devrait exister à la fois sur javascript et PHP5 (<5.3). J'aimerais que les fonctions natives simples / petites n'impliquent pas une énorme classe tierce pour JS et PHP.

Modifier: SSL / HTTPS est hors de question.

Je suppose que HTTPS est hors de question.

Avez-vous pensé à ROT? Stupide simple implémentation au moins:

var output = ""; for(var i = 0; i < input.length; i++) { char = ( input.charCodeAt(i) + SOME_NUMBER ) %255; output += String.fromCharacterCode( char ) } 

Ensuite, en PHP

 $chars = $_POST['chars']; $output = ""; for($i = 0; $i < strlen($chars); $i++ ) { $char = ord($chars[$i]) - SOME_NUMBER; if($char < 0 )$char += 255; $output .= chr($char); } 

Si vous souhaitez empêcher les gens de renifler votre trafic Web, utilisez https au lieu de http.

S'il y a une chose que vous devriez apprendre, c'est que le cryptage est difficile. Vraiment dur. Si vous essayez de le faire vous-même, vous ne le feriez pas bien et vous fera probablement une erreur subtile qui pourrait vous mordre plus tard. Il est préférable de laisser le cryptage aux personnes qui savent ce qu'ils font.

Si vous voulez un cryptage PKI fort sur Javascript, vous devez vérifier le jcryption .