aller, je me lance ...
function decryptTel(cryptTel,key)
{
// création de la variable tel dont la valeur est "tel" :
var tel = "tel:";
// création de la variable elem (chaine de caractère ) dont la valeur est
un tableau de la variable cryptTel
// cryptTel est découpé par la fonction split en ayant pour chaine de
caractère délimiteur 0x.
// exemple : "bonjour".split ("j") donne le tableau : ["bon","our"]
var elem = cryptTel.split("0x");
// création d'une itération sur 2 variables i et j
// i et j sont initialisé à 0
// ii<elem.length signifie que la boucle s' effectuera tant que la
variable i soit toujours inférieur à la longueur
//de la variable elem, elem étant un tableau, donc, la boucle s'arrêtra
lorsque la dimension du tableau sera atteint .
// i++ , j++ permet d'incrémenter les variables i et j de 1.
for(var i=1,j=0;i<elem.length;i++,j++){
// création d'une variable dec_string
// dont la valeur est l'élément du tableau elem d'index i
// cette valeur est converti en nombre grace à la fonction parseInt en
base 16
var dec_string=parseInt(elem[i],16);
// condition si la valeur j est supérieur à la longueur de la
variable key
// ici je ne sais pas si key est une chaine de caractère ou un tableau .
if(j>key.length){
// on initialise la valeur de j à 0
j=0;
}
// incrémentation de la variable tel avec les 2 valeurs suivantes :
//String.fromCharCode permet de retrouver la valeur littérale de l'expression
// dec_string^key.charCodeAt(j
// pour mieux me faire comprendre, String.fromCharCode (97) retourne la lettre
a .
// je ne sais plus ce que signifie l'accent circonflexe .
// key.charCodeAt(j) permet de retrouver la valeur unicode d'un caractère
(contraire de la précédente fonction
// le paramètre (j) indique la position du caractère dans la chaine de
caractère .
// exemple :
// "bonjour".charCodeAt(0) donne 98 (la valeur de la lettre b parce que
l'index 0 de bonjour est b .
// exemple 2 :
// "bonjour".charCodeAt(3) donne 106 (la valeur de la lettre j parce que
l'index 3 de bonjour est j .
tel += String.fromCharCode(dec_string^key.charCodeAt(j));
}
// on modifie l'attribut href, mais je ne comprends pas pourquoi . et je ne
savais même pas si c'était possible .
window.location.href=tel;
return tel;
}
----- Original Message -----
From: Maan ALOUN
To: [email protected]
Sent: Saturday, March 23, 2013 3:47 PM
Subject: [progliste] fonction en java script
bonjour,
j'ai trouvé cette fonction qui décode un numéro de téléphone, mais je ne
connais pas le java script, je cherche à la réécrire dans un autre langage, qui
peut m'aider?
function decryptTel(cryptTel,key) {
var tel = "tel:";
var elem = cryptTel.split("0x");
for(var i=1,j=0;i<elem.length;i++,j++){
var dec_string=parseInt(elem[i],16);
if(j>key.length){
j=0;
}
tel += String.fromCharCode(dec_string^key.charCodeAt(j));
}
window.location.href=tel;
return tel;
}
merci par avance.