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.

Répondre à