bonjour Yannick,

je te colle  l'explication de ^
OU bit-à-bit exclusif
Retourne 1 si l'un des deux bits de même poids est à 1 (mais pas les deux)
9 ^ 12 (1001 ^ 1100)
5 (0101)

merci pour tes explications, mais à cause de ces fonctions particulières je 
n'arrive pas encore à réécrire la fonction dans un autre langage par exemple 
vbs ou python, je préfère le vbs et ou un langage où le programme ou le script 
peut être lancé sans installation .
mon projet est:
un champs d'édition et un bouton
je colle une adresse url dans le champs, le programme dois analyser le code 
source de la page, pour extraire les 2 variable de cette fonction, puis il va 
afficher un message box avec le numéro de téléphone après décryptage.
l'appel de la fonction est le suivant:
decryptTel('0x530x710x620x710x5b0x5f0x470x4d0x420x47','cGUImlrtttsvghvzpuzDp8+g==');
c'est la ligne que le programme va chercher dans le code source.
qui va donner 0678635963 après décryptage

De : yannick 
Date : Samstag, 23. März 2013 20:34
À : [email protected] 
Objet : [progliste] Re: fonction en java script


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 à