Générateur pour option 90 DHCP Orange

by katalin_2003

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.min.js"></script>
<h2>Générateur pour option 90 DHCP Orange - version 2.01 (septembre 2018)</h2>
<h3 color=red>
désactiver votre adblocker ou extensions de type 'noscript' si ca ne fonctionne pas
</h3>
<a href="https://lafibre.info/remplacer-livebox/cacking-nouveau-systeme-de-generation-de-loption-90-dhcp/">voir ce sujet sur lafibre.info</a><br>
<hr>
login Orange : fti/<input id="orange" placeholder="identifiant Orange"/><br>
mot de passe Orange: <input id="password" placeholder="password"/><br>
Salt: <input id="salt" value="1234567890123456"/ maxlength="16" size="16"><br>
Byte: <input id="byte" value="A" maxlength="1" size="1"/>
<br>(execution locale au navigateur, les valeurs ne sont pas envoyées sur le réseau)<br>
<hr>
<button id="btn2">Générer la chaine</button><br>

chaine option dhcp 90:<textarea id="output" placeholder=""></textarea><br>

CSS

textarea{
    width:100%;
    height:100px;
}

JavaScript

(function(){
    btn2.onclick = function(){
        var st11zero = '00:00:00:00:00:00:00:00:00:00:00';
        var idorange = '01'; // variable
        var idsalt= '3c'; // 16
        var idhash  = '03'; //1+16
        var fixed = '1a:09:00:00:05:58:01:03:41';
        
				function TLofTLS(id,l) {
            var toAdd = l.toString(16).toUpperCase();
            if (toAdd.length<2) toAdd = '0' + toAdd;
            return id + ':' + toAdd;
				}
        function SofTLS (s) {
          var i, toAdd;
          var res = '';
          for(i = 0; i < s.length; i++) {
              toAdd = s.charCodeAt(i).toString(16).toUpperCase();
              if (toAdd.length<2) toAdd = '0' + toAdd;
              res += toAdd;
              if (i<s.length-1) res += ":";
          }
          return res;
        }
        var Orange = 'fti/'+orange.value;
        var Salt = salt.value;
        var Byte = byte.value;
        var md5 = CryptoJS.MD5(Byte + password.value + Salt).toString();
        console.log(md5);
        var md5s = '';
        for(i = 0; i < md5.length; i+=2) {
        	md5s += md5[i]+md5[i+1];
          if (i<md5.length-2) md5s += ":";
				}
        console.log(md5s);
        output.value =
              st11zero + ':' + fixed + ':' +
              TLofTLS(idorange,2+Orange.length)+ ':' + SofTLS(Orange)+ ':' +
              TLofTLS(idsalt,2+16)+ ':' + SofTLS(Salt) + ':' +
              TLofTLS(idhash,2+1+16)+ ':' + SofTLS(Byte) + ':' + md5s;
         }
})();